PHP:已连接到数据库,但mysql\u查询失败
我对PHP有一个非常奇怪的问题,我正在开始学习。。我已经用一些数据在MySQL数据库中创建了表,现在我想在网页中显示它们 这是我的问题来源:PHP:已连接到数据库,但mysql\u查询失败,php,mysql,Php,Mysql,我对PHP有一个非常奇怪的问题,我正在开始学习。。我已经用一些数据在MySQL数据库中创建了表,现在我想在网页中显示它们 这是我的问题来源: <?php // Here I open connection $con = mysql_connect("localhost","root","aaaaaa"); // set the mysql database $db = mysql_select_db("infs", $con); // I chec
<?php
// Here I open connection
$con = mysql_connect("localhost","root","aaaaaa");
// set the mysql database
$db = mysql_select_db("infs", $con);
// I check the connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else {
// It always goes here
echo "Connected to database!";
}
// I am testing very simple SQL query.. there should be no problem
$result = mysql_query("SELECT * FROM cathegories", $con, $db);
if (!$result) {
// but it always dies
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
mysql_close($con);
?>
怎么了
提前谢谢 mysql\u查询只接受两个参数——实际的SQL,然后是链接标识符(在您的例子中,我假设它存储在$con中;因此从第三个参数中删除$db) 你甚至不需要第二个$con参数 最初连接到数据库的实际逻辑在哪里?仅仅因为mysqli_connect_errno()没有返回错误,并不意味着连接实际存在,并且$con在当前范围内可用 我会在mysql查询之前使用var_dump($con),以确保它是一个有效的连接
// Here I open connection
$con = mysql_connect("localhost","root","aaaaaa");
// set the mysql database
$db = mysql_select_db("infs", $connection);
改为
// Here I open connection
$con = mysql_connect("localhost","root","aaaaaa");
// set the mysql database
$db = mysql_select_db("infs", $con);
您正在混合使用mysql和mysqli。 尝试以下方法:
<?php
$con= new mysqli("localhost","user","passwd","database");
if ($con->connect_errno){
echo "could not connect";
}
$select = "SELECT * FROM tablename";
if($result = $con->query($select)){
while($row = $result->fetch_object()){
echo $row->rowname."<br>";
}
}
else { echo 'no result'; }
$con->close();
?>
只需使用$result=mysql\u查询(“从cathegories中选择*)代码>你的查询是cathegories,应该是categories吗?你应该为它失败而高兴。你混合了mysql和mysqli库调用!别这样!前者不受欢迎。仅使用mysqli。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。您的主要问题是您使用$connection进行连接,而您从未定义它,但确实将$con定义为连接器。您现在遇到了什么错误?我尝试使用var_dump($con)检查连接,它打印:“类型(mysql链接)的资源(2)”。我认为这应该是正确的……这就行了!非常感谢你。