我的SQL查询未在使用会话的服务器上执行?

时间:2018-09-28 09:48:16

标签: php mysql phpmyadmin

我已经从登录表中找到记录,但是我的mysql查询现在正在执行。

以下是我的代码。

$sqlQuery = "SELECT * FROM ".$table." 
             WHERE mobile_number='".$mobile_number."' AND 
                   password='".base64_encode($password)."'";    
// End
$select = mysql_query($sqlQuery);
$result = mysql_num_rows($select);

echo "<pre>Rest";
print_r($result);

它总是返回0,但相同的查询正在Phpmyadmin仪表板中工作。

当我将mysql_error()功能与mysql_query一起使用时,

$select = mysql_query($sqlQuery) or die ('Error updating database: '.mysql_error());

出现错误:Access denied for user ''@'localhost' (using password: NO)

以下是我的连接代码。

$dbname = "######";
$host = "localhost";
$user = "#####";
$password = "#####";

$connection = mysql_connect($host,$user,$password) or die("Error in database connection.");
if (!$connection)
{
    return false;
} 
if(!mysql_select_db($dbname, $connection)) 
{
return false;
}

如果有人对此请求有任何帮助,我不知道为什么会遇到这个问题。

谢谢!

2 个答案:

答案 0 :(得分:0)

猜想您必须使用用户名和密码连接到SQL Server。错误消息指出您甚至没有传递用户名。

简单的例子:

$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
…
// do your stuff here

请确保-至少 –保护您的参数,例如使用mysql_real_escape_string()进行转义:
http://php.net/manual/en/function.mysql-real-escape-string.php

或更妙的是,使用PDO

$stmt = $pdo->prepare('SELECT * FROM your_table WHERE mobile_number = :mobile_number');

$stmt->execute(array('mobile_number' => $mobile_number));
…

答案 1 :(得分:0)

  • 您应检查配置文件中的主机,用户名和密码,并确保该信息与MySQL服务器管理员提供的信息一致。
  • 重置密码并尝试:
      

    输入set password for 'root'@'localhost'=password(' your password ');,然后重新启动mysql服务。输入mysql-u root-p