【发布时间】:2014-08-20 09:00:51
【问题描述】:
这是我的 PHP 代码,它没有插入记录并且总是显示 false。
$con = mysqli_connect("localhost", "XXX", "XXX", "vital");
$fieldName = implode(",",array_keys($data));
$values = '"'.implode('","', array_values($data)).'"';
echo $query = "insert into ".$table." (".$fieldName.") values(".$values.")";
if(mysqli_query($con,$query))
echo "<br>true";
else
echo "<br>false";
这是我直接写入 phpmyadmin 的等效 SQL 查询,非常完美。下面是echo $query生成的SQL查询
insert into patient
(patient_id,opd_id,patient_name,hospital_name,plot_from_file,entry_date)
values("1234","1233","456","temp","false","2014-08-20");
上述查询在 phpmyadmin 中可以完美运行。
【问题讨论】:
-
不要将未经过滤的输入放入参数中!使用准备好的语句!
-
不知道你说的
unfiltered inputs是什么意思? -
使用mysqli_error()检查
-
希望您在构建 $data 数组时做一些检查。是的,一条错误消息可能很有用。 + 为什么要使用 mysqli_query 2 次?
-
@Gerifield 对不起,我写错了两次
mysqli_query
标签: php mysql mysqli phpmyadmin