我对插入语句有一个奇怪的问题。发生的事情是,如果我只插入一列,它可以工作但是大于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
答案 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();