2

我正在尝试使用 MYSQLi 在数据库中插入数据。如果我使用以下查询,则插入数据;

INSERT INTO table (Name, Phone, Location) VALUES ('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);

如何直接插入变量?

4

1 回答 1

3

在您的情况下,代码应如下所示:

$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();
于 2013-04-11T09:46:34.167 回答