大家好,我是一名html+css+php+mysql新手,刚入门两星期。
html表单的数据传递应该就是通过name值进行的吧?如下:
然后在report.php中写入:
$link=mysqli_connect('localhost',账户','密码',数据库名') or die('连接数据库失败!');
echo '连接数据库成功';
$Belong=$_POST['Belong'];
echo 变量赋值成功';
$query="INSERT INTO 堆积单位记录表(所属遗迹)".
"VALUES('$Belong')";
$result=mysqli_query($link, $query) or die('插入记录失败!');
echo '提交表单成功';
mysqli_close($link);
echo '关闭数据库连接成功';
以上是代码的一部分,数据库字段比较长,只列出了一个实例。
倒是所有步骤都提示成功,不过查看了数据库时候,发现插入的全部是空值,也不是null,就是空的,连空格都没有。
数据库和网页的编码都是UTF-8。
对了我是一名新手,所以很多错误可能犯(比如之前忘记配置php.ini),希望诸位大神可以把你们能够想到的可能有问题的地方都告诉我,谢谢啦
回复讨论(解决方案)
你的表单没有提交按钮,那么你是如何提交的呢?
你的表单没有提交按钮,那么你是如何提交的呢?
有的,之前粘贴代码时候忘了。
数据已经插入成功了,没有数据的时候数据库显示的是null。
不过就是插入的全是空值,我ehco了下赋值的变量,发现输出的也是空空的什么都没有,应该是赋值这块哪儿出了问题。
提交后,页面都显示的什么?
提交后,页面都显示的什么?
连接数据库成功
数据转换成功
提交表单成功
关闭数据库连接成功
那个数据转换成功就是赋值成功处的原文本
最简单的 你输出以下你的 $query 看看你执行的sql语句是什么 然后再做结论
最简单的 你输出以下你的 $query 看看你执行的sql语句是什么 然后再做结论
的确是变量赋值出问题了,因为输出的vlaues全是单引号。
不知道为什么赋值会出问题,啊
那你就向上排查呗 输出下$Belong $Belong 没有你在print一下 $_POST 断点调试你应该会吧? 一步步向上 最后就能确定原因了
你数据库设计有问题,看看字段长度和类型!只要你能获取到,sql,没有问题,就是你表的设计有问题