如何将来自用户php的输入与MySQL的输入进行比较
问题描述:
我在教自己的php和MySQL,现在我有一个MySQL问题。如何将来自用户php的输入与MySQL的输入进行比较
我想比较用户输入的电话号码与MYSQL中的电话号码,以及是否在MYSQL中不再注册。
我的代码:
<?php
require_once 'connection/connection.php';
// Variables from HTML to php
$worker_Name = $_POST['workerNameFromHtml']; // worker Name
$worker_City = $_POST['workerCityFromHtml']; // workerCity
$worker_career = $_POST['workerCareerFromHtml']; // worker career
$worker_PhoneNumber = $_POST['workerPhonNumberFromHtml']; // worker Phone Number
$worker_SecondPhoneNumber = $_POST['workerSecondPhoneNumberFromHtml']; // worker Second Phone Number
$submt=$_POST['submitFromHtml'];
if($submt){
$qry = ("SELECT workrPhoneNumber FROM workersTable WHERE workrPhoneNumber = '$worker_PhoneNumber'") or die(mysql_error());
$result = $connect->query($qry);
$num = $result->num_rows;
if ($num == 1) {
$here = "INSERT INTO workersTable VALUES('','$worker_Name','$worker_City','$worker_career','$worker_PhoneNumber','$worker_SecondPhoneNumber')";
$query = $connect->query($here);
print "Successfully added!";
}
else {print "This number has already been entered Thank you for your cooperation!";}}
$connect->close();
到目前为止,我还没有找到一个解决这个问题。
答
这里你最大的问题是你试图在字符串中包含变量。
"SELECT workrPhoneNumber FROM workersTable WHERE workrPhoneNumber = '$worker_PhoneNumber'"
如果你想这样做,你需要连接你的变量和你的字符串。
"SELECT workrPhoneNumber FROM workersTable WHERE workrPhoneNumber = '".$worker_PhoneNumber."'"
请记住,如果您这样做,您将首先要清理变量以防止SQL注入。此外,当您插入变量,你真的想使用一份声明中这样的:
"INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)"
,其中第一组值是在数据库和第二组的列的名称是你的PHP变量,你正在投入。
+0
这是工作,非常感谢你! – hasan
你的'$ qry'变量是错误的。检查这个教程https://www.w3schools.com/php/php_mysql_select.asp –
我改变了错误。但不工作。 我会改变和编辑我的问题到我的最终文件。 – hasan