需要理解为什么变量在通过mysql查询传递其值时需要引号

时间:2018-03-22 17:23:46

标签: php mysql

所以我是PHP的初学者,目前我正在研究MySQL,我遇到了这个特殊代码的问题。

queue

*基本上,如果用户名和密码已成功传输到数据库,则回显1,如果没有,则回传0。

如果我没记错的话,你只使用引号$connection = mysqli_connect('localhost','root','','loginapp'); $username = $_POST['username']; $password = $_POST['password']; $query = "INSERT INTO users(username,password) VALUES ('$username','$password')"; $result = mysqli_query($connection,$query); if ($result) echo 1 else if(!$result) echo 0; 作为字符串,当传递变量时,你不需要用'或'来包含它们。所以,我尝试从{{{{}}中的变量中删除引号1}}它开始回显0。任何人都可以向我解释为什么变量必须用VALUES中的'或'括起来,这样我才能更好地理解它是如何工作的?

1 个答案:

答案 0 :(得分:0)

您的密码和用户名字段必须是mysql中的字符串,因此您需要将它们放在查询的引号之间。

我建议你看看prepared statments,这是一个更好的方法来进行此查询。