PHP获得HTML表单数据无法写入MySQL数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP获得HTML表单数据无法写入MySQL数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3838字,纯文字阅读大概需要6分钟。
内容图文
![PHP获得HTML表单数据无法写入MySQL数据库](/upload/InfoBanner/zyjiaocheng/194/0eee7eb487874aceac15404153118431.jpg)
总界面模块
图书录入数据处理 - 藏书 核准预览数据
'; echo 'CIP 图书在版编目:' . $cip . '' . '正书名:' . $title . '
'; $creator1loc = code2loc($creator_loc_id1); echo '
副书名:' . $subtitle . '
丛书名:' . $series . '作者1:[' . $creator1loc . ']' . $creator_1 . '
'; $publoc = code2loc($publoc_id); echo '
'; $creator2loc = code2loc($creator_loc_id2); echo '作者2:[' . $creator2loc . ']' . $creator_2 . '由' . $publoc . '的' . $publisher . '出版
'; echo '
'; $language = code2lang($lang_id); echo '此' . $language . '发行版本为' . $edit_date . '第' . $edit_no . '版 ' . $version_date . '第' . $version_no . '次印刷关键词组1:' . $subj_key_1 . '?' . $subj_key_2 . '?' . $subj_key_3 . '
'; $priceunit = code2punit($punit_id); echo '
'; $clssys1 = code2clssys($clssys_id_1); echo '关键词组2:' . $subj_key_4 . '?' . $subj_key_5 . '?' . $subj_key_6 . '
'; $clssys1 = code2clssys($clssys_id_1); echo $clssys1 . '分类号:' . $class_no_1 . '
'; $clssys2 = code2clssys($clssys_id_2); echo $clssys2 . '分类号:' . $class_no_2 . '价格 ' . $price . $priceunit . ' · 藏本数量 ' . $amount . ' · 相关图书ISBN ' . $rlt_isbn . '
'; echo '备注信息' . $noteinfo . '
'; echo '数据库写入信息
'; include 'insert.php'; /*载入写入数据库模块*/ ?>
- /">《》在豆瓣上的页面
- ">《》在亚马逊(中国网站)上的页面
Developed by SJHSTONE in 2014.
数据库连接模块(dbconnect.php)
<?php $dbc = mysqli_connect('localhost', 'mylibr', 'v3rubaGbdfSSTz88', 'libr') or die('无法链接到MySQL数据库'); mysqli_set_charset($dbc,'utf8');
数据写入模块(insert.php)
<?php /*初始连接数据库,连接变量$dbc*/ include 'dbconnect.php'; /*开始写入请求*/ $query1 = "INSERT INTO libr_metacode (meta_isbn, meta_cip) VALUES ('$isbn', '$cip')"; $result = mysqli_query($dbc,$query1) or die('无法写入数据块1'); $query2 = "INSERT INTO libr_title (meta_isbn, title, subtitle, series) VALUES ('$isbn', '$title', '$subtitle', $'series')"; $result = mysqli_query($dbc,$query2) or die('无法写入数据块2'); $query3 = "INSERT INTO libr_author (meta_isbn, creator, creator_id, creatorloc_id) VALUES ('$isbn', '$creator_1', '$creator_loc_id1')"; $result = mysqli_query($dbc,$query3) or die('无法写入数据块3'); /*作者2是否为空*/ if (!empty($creator_2)) { $query4 = "INSERT INTO libr_author (meta_isbn, creator, creator_id, creatorloc_id) VALUES ('$isbn', '$creator_2', '$creator_loc_id2')"; $result = mysqli_query($dbc,$query4) or die('无法写入数据块4'); } else { echo '无写入的作者2信息,不写入数据块4'; } mysqli_close($dbc);
所有从$POST_[]全局变量引用的值都能在echo时正确显示,
能够正常连接并写入libr_metacode表中的13位ISBN、10位CIP数据,
但是无法写入接下来其他表中的数据。
先期涉及的三个表结构:
libr_metacode->meta_isbn char(13) 主键->meta_cip int(10)libr_title->meta_isbn char(13) 主键->title varchar(70)->subtitle varchar(50)->series varchar(30)libr_author (一对多)->rec_id int(5) 自动编号主键->creator varchar(30)->creatorloc_id int(3)
有兴趣的高手麻烦可以到 http://sjhstone.name/book/sandbox.rar看看源码提提建议,密码forcsdn(运行环境为本地Windows上的WampServer)
回复讨论(解决方案)
VALUES ('$isbn', '$cip')";
全都加转义
addslashes($isbn)
或者
mysql_real_escape_string($isbn)
把形如
or die('无法写入数据块1');
的改为形如
or die('无法写入数据块1' . mysqli_error($dbc));
的,就可知道问题在哪里了
VALUES ('$isbn', '$cip')";
全都加转义
addslashes($isbn)
或者
mysql_real_escape_string($isbn)
都是不需要转义的字符,而且只是在本地测试,暂时还用不着防注入……
不过谢啦!
把形如
or die('无法写入数据块1');
的改为形如
or die('无法写入数据块1' . mysqli_error($dbc));
的,就可知道问题在哪里了
这个纠错功能之前没看到过呢
顺带问一下哪里有参考性质的命令大全呢
一切都在 PHP手册 之中
内容总结
以上是互联网集市为您收集整理的PHP获得HTML表单数据无法写入MySQL数据库全部内容,希望文章能够帮你解决PHP获得HTML表单数据无法写入MySQL数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。