mysql更新查询无法正常工作

时间:2015-06-01 09:37:19

标签: php mysql sql mysqli

我想用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。

3 个答案:

答案 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()。然后使用它。不要盲目。谢谢。也是一步一步开始的。