我是 PHP 的新手,但我喜欢创建一个脚本来检查电子邮件是否在我的 MySQL 数据库中,数据库名称是 “Fily_Registrations”
,表是“users”和值称为 “电子邮件”
。所以基本上如果电子邮件 "hi@all.com"
存在于我的数据库中并且我将 php 脚本称为 "http://path/to/php.php?email=hi @all.com"
它应该回显 "YES"
如果它不存在它应该回显 "NO"
。
这就是我现在的票价,但它总是回应“NO”:
<?php
$email = $_GET["email"];
$DataBase = "Fily_Registrations";
mysql_connect("server", "username", "password") or die(mysql_error());
mysql_select_db($DataBase) or die(mysql_error());
$string = sprintf("SELECT '$DataBase' FROM users WHERE email = '$email'");
$query = msql_query($string);
if($query == false) {
echo("No");
} else {
echo("Yes");
}
?>
有人知道如何解决这个问题吗?
最佳答案
如果数据库是 Fily_Registrations 那么查询是错误的。试试这个:
$email = mysql_real_escape($_GET["email"]);
$DataBase = "Fily_Registrations";
mysql_connect("server", "username", "password") or die(mysql_error());
mysql_select_db($DataBase) or die(mysql_error());
$query = "SELECT * FROM users WHERE email = '{$email}'";
$result = mysql_query($query);
echo (mysql_num_rows($result) == 0) ? 'NO' : 'YES';
如果查询不正确,mysql_query 返回 false。先阅读http://pl1.php.net/mysql_query并考虑使用 PDO ( http://pl1.php.net/pdo ) 而不是普通的 mysql_query。
关于php - 如何检查 PHP 中的 MySQL 数据库中是否存在值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21065129/