我已经制作了一个用于AJAX调用的通用PHP脚本。我有存储在SESSION变量中的mysql连接的用户名和密码。为了在这个ajax脚本中启动同一个会话,我通过post将它传递给ajax脚本。正在传递变量,并且我使用error_log检查了用户名和密码SESSION变量是正确的值。这里是ajax_script.php:
session_id($_POST['session_id']);
session_start();
mysql_connect('10.X.X.X',$_SESSION['username'],$_SESSION['password']);
$results = mysql_query($_POST['query']);
echo json_encode($results);
?>但是,无法建立连接。我检查了日志文件,这是错误:
PHP Warning: mysql_connect(): Access denied for user 'username'@'25.1.1.1' (using password: YES) in /ajax_script.php on line 6, referer: http://25.1.1.1/index.php?option=com_content&view=article&id=180有谁知道我为什么不能像这样连接?
以前我做了一个类似的脚本,但没有像上面那样启动引用session_id的同一个会话。我通过邮件传递了用户名和密码,并且连接正常工作。
谢谢!
**编辑**对不起,我使用了错误的IP为mysql连接。以下代码工作:
session_start();
$ajax_connection = mysql_connect('10.X.X.X',$_SESSION['username'],$_SESSION['password']);
$result_set = array();
while ($result_set[] = mysql_fetch_assoc($results)){
// do nothing
}
echo json_encode($results);
?>