我不知道发生了什么。我通常在这样的页面中进行简单的登录,但是这个页面没有工作,我无法发现错误。
<?php
$con=mysql_connect("db_server","db_user","db_pass","db");
if (!$con)
{
echo "Failed to connect to MySQL: " . mysql_error();
}
$username = $_GET['username'];
$password = $_GET['password'];
$query="SELECT username FROM users ";
//$query.="WHERE `username`=".$username;
//$query.=" AND `password`=".$password;
echo "query=".$query."<br/>";
$result = mysql_query($query, $con);
echo "result=".$result."<br/>";
if($result){
$row = mysql_fetch_assoc($result);
$data = $row['username'];
echo "data=".$data;
}else{
echo "something went wrong:".mysql_error();
}
mysql_close($con);
?>
我正在使用mysql_*
代替mysqli_*
作为运行它的服务器是5.2;不确定这是否相关,但我最初得到一个无法识别的功能错误。
数据库中只有一个条目。正如我所说,我通过phpmyadmin使用常规SQL代码,我得到了我需要的结果。
也不确定是否相关。我回应了$ result而没有任何结果。它不应该回应&#34; false&#34; ?
答案 0 :(得分:3)
您的逻辑中存在重大错误。如果连接到MySQL时出错,则打印错误,但继续查询断开的连接 - 您也没有选择数据库。
此外,这种方法适用于PHP4。除非你在这个项目中遇到PHP4,否则进入PHP5世界会是一个好主意。
我建议调查PDO: http://www.php.net/manual/en/book.pdo.php
至于没有收到错误,请检查.ini
中的error_reporting和display_errors设置答案 1 :(得分:-2)
试试这个。
<?php
$con=mysql_connect("db_server","db_user","db_pass");
mysql_select_db("db");
if (!$con)
{
echo "Failed to connect to MySQL: " . mysql_error();
}
$username = $_GET['username'];
$password = $_GET['password'];
$query=mysql_query("SELECT username FROM users");
if($query){
$row = mysql_fetch_assoc($query);
$data = $row['username'];
echo $data;
}else{
echo "something went wrong:".mysql_error();
}
mysql_close($con);
?>