我正在尝试使用MYSQLi在数据库中插入数据。如果我使用以下查询,则插入数据;
"INSERT INTO table (Name, Phone, Location) VALUES ('test', 'test', 'test')"
而不是值' test',我需要插入变量的值。但是以下情况不起作用。
$test = 'xxx';
if ($stmt = $mysqli->prepare("INSERT INTO table (Name, Phone, Location) VALUES (". $test.", 'aaa', 'bbb')")) {
$stmt->execute();
$stmt->close();
}
我已经尝试了" bind_param"命令,但它没有工作。
$stmt->bind_param("ss", $name, $phone, $location);
如何直接插入变量?感谢。
答案 0 :(得分:2)
在您的情况下,代码应该是这样的:
$test = 'xxx';
$stmt = $mysqli->prepare("INSERT INTO table (Name, Phone, Location) VALUES (?, 'aaa', 'bbb')");
$stmt->bind_param("s", $test);
$stmt->execute();
$stmt->close();
如果您想为此查询提供3个变量:
$name = "My name";
$phone = "My phone number";
$location = "My location";
$stmt = $mysqli->prepare("INSERT INTO table (Name, Phone, Location) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $phone, $location);
$stmt->execute();
$stmt->close();