php - 如何检查 PHP 中的 MySQL 数据库中是否存在值?

标签 php mysql database

我是 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/

相关文章:

javascript - 用户点击搜索按钮后 map 不显示错误在哪里?

MySQL/玛丽亚数据库 : Can't create a procedure using the case statement

java - 如何使用java中的sql查询列出MS Access数据库文件中的所有表名称?

mysql - 选择另一个表中没有外键的主键

php - 如何在没有pars的情况下回显php文件?

javascript - 当在另一个 php 文件中插入某些数据时,使用 ajax 在 php 页面的 div 中加载内容

c# - 在 for 循环上检测到无法访问的代码

mysql - 替换 utf8mb4_unicode_ci 上的特定字符 MySQL 搜索

sql - 在 SQL 查询中删除重复项并合并一个表中的数据

php 类常量可见性