我想用php更新一个电子邮件字段,但是sql似乎没有用。
$email2 = "'testing@example.com'";
$id = "'1'";
$query = "UPDATE `users` SET `email` = $email2 WHERE `id` = $id";
echo $query;
if ($stmt = mysqli_prepare($connection, $query))
{
/* execute statement */
mysqli_stmt_execute($stmt);
/* bind result variables */
mysqli_stmt_bind_result($stmt);
/* fetch values */
while (mysqli_stmt_fetch($stmt))
{
}
/* close statement */
mysqli_stmt_close($stmt);
}
mysqli_close($connection);
我是编程新手。我希望你们能帮助我找到错误。 我在我的Mac上使用MAMP。 PHP版本:5.6.7。
答案 0 :(得分:2)
你可以使用它: -
$update="update users set email='$email2' where id='$id' ";
答案 1 :(得分:1)
您的查询无效,因为您需要在字段中添加引号。
varchar
字段始终需要引号,因为它是一个字符串:
$query = "UPDATE `users` SET `email` = '".$email2."' WHERE `id` = $id";
答案 2 :(得分:0)
由于您自己提供查询中的所有内容。然后尝试这样: -
$email2 = "testing@example.com"; // remove '' quote
$id = "1"; // remove '' quote
$query = "UPDATE `users` SET `email` = $email2 WHERE `id` = $id";
$result = mysqli_query($connection,$query) or die(mysqli_error($connection));
if($result){
// do your stuff
}
mysqli_close($connection);
注意: - 请仔细阅读mysqli_*
prepare()
,bind_result()
。然后使用它。不要盲目。谢谢。也是一步一步开始的。