mysql编写的语句插入问题

时间:2017-07-29 07:07:11

标签: php mysql

我对插入语句有一个奇怪的问题。发生的事情是,如果我只插入一列,它可以工作但是大于1列的任何内容都不会被插入并且没有显示错误

这有效

$db = mysqli new('localhost','root','','db');
$stmt = $db->prepare("insert into test (id) values(?)");
echo $db->error;
$stmt->bind_param("s",$id);
$stmt->execute();

但不是这样:

$id = 1;
$name = "test";
$stmt = $db->prepare("insert into test (id,name) values(?,?)");
echo $db->error;
$stmt->bind_param("ss",$id, $name);
$stmt->execute();

有没有人有线索?不确定这是否有用,但有些列在“排序规则”标签下没有值,而其他列在表格中有latin1_swedish_ci

1 个答案:

答案 0 :(得分:0)

尝试单独绑定参数,如下所示:

$stmt = $db->prepare("insert into test (id,name) values(:id, :name)");
echo $db->error;
$stmt->bind_param(":id", $id);
$stmt->bind_param(":name", $name);
$stmt->execute();