PHP/mysql代码的一小部分已经死亡。不知道为什么

PHP/mysql代码的一小部分已经死亡。不知道为什么,php,mysql,Php,Mysql,我很少做编程。我只知道他们所说的危险,我只是简单地汇编代码来得到我想要的。我下面的代码似乎死在$sql查询语句中。它从不返回任何数据。它应该显示13个记录,但它说没有返回。我猜这是某种语法错误 <?php $host = 'myipaddress'; $user = 'myuser'; $pass = 'mypass'; $db = 'mydatabase'; $conn = mysql_connect($host, $user, $pass, $db) or die("Can not

我很少做编程。我只知道他们所说的危险,我只是简单地汇编代码来得到我想要的。我下面的代码似乎死在
$sql
查询语句中。它从不返回任何数据。它应该显示13个记录,但它说没有返回。我猜这是某种语法错误

<?php
$host = 'myipaddress';
$user = 'myuser';
$pass = 'mypass';
$db = 'mydatabase';

$conn = mysql_connect($host, $user, $pass, $db) or die("Can not connect." . mysql_error());

// Create connection
//$conn = mysqli_connect($host, $user, $pass, $db);
// Check connection
if (!$conn) {
die("Connection failed: ");
}

$sql = "SELECT * FROM pages WHERE pid > '5'";
$result = mysql_query($conn, $sql);

if (mysql_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["pid"]. " - Name: " . $row["title"]. "<br>";
}
} else {
echo "0 results";
}

mysql_close($conn);
?>

您一直在使用
mysqli\uu
API,直到您尝试在此处获取行,您正在使用
mysqli\u
。那是行不通的

while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["pid"]. " - Name: " . $row["title"]. "<br>";
}

您需要使用
mysql\u fetch\u assoc()
来代替
mysqli\u fetch\u assoc()
,因为您以前的函数是基于
mysql\u*
,而不是
mysqli\u*

if (mysql_num_rows($result) > 0) {
// output data of each row
while($row = mysql_fetch_assoc($result)) {
    echo "id: " . $row["pid"]. " - Name: " . $row["title"]. "<br>";
}
} else {
echo "0 results";
}
if(mysql\u num\u行($result)>0){
//每行的输出数据
while($row=mysql\u fetch\u assoc($result)){
echo“id:.$row[“pid”]。-名称:.$row[“title”]。
”; } }否则{ 回显“0结果”; }
您的代码有很多错误

mysql\u connect($host、$user、$pass、$db)

mysql\u connect()
使用3个参数,第4个参数与您认为的不同


您需要使用
mysql\u select\u db()

那么

$result=mysql\u查询($conn,$sql)

连接在mysql中排名第二

然后您将混合一个MySQLi函数
MySQLi\u fetch\u assoc
,它不会与
mysql\u
库混合使用

  • 阅读:
所以,只需使用完整的MySQLi库

或PDO:

连同准备好的声明:


如果查询失败,请检查真正的错误:

添加到文件的顶部,这将有助于查找错误

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

this
$conn=mysql\u connect($host,$user,$pass,$db)
并不像您想象的那样。RTM-与
$result=mysql\u查询($conn,$sql)相同请再试一次。已在PHP7中删除。了解有关使用PDO的语句,并考虑使用.<代码> MySqL**<代码>和<代码> MySqLI**<代码>函数。那是行不通的。啊,那也是萨姆-@JayBlanchard和其他事情。我不知道为什么你的问题被否决了,我们都必须从某个地方开始学习。这是我的建议。在您尝试编码之前先研究一下,mysqli和pdo是现在数据库访问的首选方法,因为它们更安全。同时学习两者可能会让你的生活变得困难,所以选择其中一个,坚持到底,直到你把它涵盖,然后学习另一个,如果你觉得它对你有益的话。我纠正了反对票,因为我认为这是不合理的。
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code