SQLi INSERT语句

时间:2013-04-11 09:40:43

标签: mysqli

我正在尝试使用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);

如何直接插入变量?感谢。

1 个答案:

答案 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();