SQLI INSERT语句(SQLi INSERT Statement)

2019-10-18 00:10发布

我想使用的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);

我怎么能直接插入变量? 谢谢。

Answer 1:

在你的情况下,代码应该是这样的:

$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();


文章来源: SQLi INSERT Statement
标签: mysqli