php - 检查数据库中是否存在用户名和电子邮件

标签 php mysql phpmyadmin

    $valid = mysqli_query($com,"select username,email from company_profile where username = ".$uname." or email = ".$email." ");
if ($valid=="")
{echo "email n username exists";}
else
{
echo "reg success";
}

这是我的代码,我也确定它不起作用。要返回结果天气电子邮件或用户名是否存在于数据库中。
有什么办法呢。

最佳答案

mysqli_query方法返回结果集,而不是标量。

$result = mysqli_query($com, "SELECT ...", MYSQLI_STORE_RESULT);

if ( $result->num_rows() > 0 ) {
   echo "query returned at least one row";
}

代码看起来容易受到 SQL 注入(inject)的影响,我们没有看到对 mysqli_real_escape_string 的任何引用功能。

我们希望看到带有绑定(bind)变量的准备好的语句,例如
if ($stmt = mysqli_prepare($com, "SELECT username,email from company_profile"
              . " where username = ? OR email = ? "))
{
   mysqli_stmt_bind_param($stmt, "ss", $uname, $email);
   mysqli_stmt_execute($stmt);
   $result = mysqli_stmt_get_result($stmt);
   while ($row = mysqli_fetch_array($result))
   {

   }
   mysqli_stmt_close($stmt);
}

关于php - 检查数据库中是否存在用户名和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22973728/

相关文章:

php - 使用 PHPDoc 显示多行 @param 的正确方法是什么?

PHP preg_match UUID v4

php - Doctrine 1.2 控制流函数 "IF"

php - 我无法访问本地网络和 phpMyAdmin

javascript - Angular 处理不等待 http.get .then

mysql - 如何 SELECT INTO OUTFILE 标题标签用引号引起来而不是正文字段?

php - 删除 last , 在 PHP 生成的 MySQL 语句中

php - 将不同的变量插入$_SESSION

mysql - Xampp 升级后,我的 table 上出现错误 #1146

mysql - phpMyAdmin 内部服务器错误 500 - 无效的 JSON