为什么可以';我从MySQL中获取结果


why can't i get results from MySQL?

我一直在开发一个新网站,我用来写/删除新闻/博客的脚本由于某种原因不想再工作了,而它仍然可以在我制作的另一个网页上工作。

我可以将新闻/博客内容上传到我的数据库,但当我想让脚本显示数据库的内容以便选择要删除的条目时,它会给我以下消息:弃用:mysql_connect():mysql扩展已弃用,将来将被删除:在第26行的/var/www/html/inclutes/conn.php中使用mysqli或PDO

我知道Mysql被弃用了,但当我试图将我的脚本更改为mysqli时,我的整个脚本都停止了工作,包括现在可以工作的上传部分。。。

当我更改脚本时,它会在以下部分给我错误:

$result=mysqli_query($sql);
$count=mysqli_num_rows($result);
while($rows=mysqli_fetch_array($result)){
mysqli_close();

给我以下错误:

警告:mysqli_query()需要至少2个参数,其中1个在中给定/第16行上的var/www/html/delete_multiple.php

警告:mysqli_num_rows()要求参数1为mysqli_result,在第18行的/var/www/html/delete_multiple.php中给定null

警告:mysqli_fetch_array()要求参数1为mysqli_result,在第36行的/var/www/html/delete_multiple.php中给定null

警告:mysqli_close()只需要1个参数,而中给定了0/第64行上的var/www/html/delete_multiple.php

并且上传导致:数据库更新错误。它基本上来自于脚本的这一部分。。。

mysqli_query($query) or die ('error updating database'); 

我添加了我的代码,希望有人能帮我找到哪里出了问题。。。

<?php error_reporting(E_ALL); ini_set('display_errors', 1);
// Get our database connector
require("includes/conn.php");
?>
<?php
if(isset($_POST['delete'])){ // Check delete button is clicked
  foreach($_POST['checkbox'] as $del_id){ // loop only checked items and delete
   $sql = "DELETE FROM blog WHERE id='$del_id'"; 
$result = mysqli_query($sql);
  }
}
?>
<?php
$sql="SELECT * FROM blog ORDER BY ID";
$result=mysqli_query($sql);
$count=mysqli_num_rows($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
<td colspan="4" bgcolor="#FFFFFF"><strong>Selecteer welke berichten verwijderd of veranderd moeten worden</strong> </td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF"><strong>Datum</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Nieuwsbericht</strong></td>
</tr>
<?php
while($rows=mysqli_fetch_array($result)){
echo "<div class='"picture'">";
                    echo "<p>";
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>"></td>
<td bgcolor="#FFFFFF"><? echo $rows['date']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['blog']; ?></td>
</tr>
<?php 
					echo "</p>";
                    echo "</div>";
}
?>
<tr>
<td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td>
</tr>
<?php
// Check if delete button active, start this 
mysqli_close();
?>
</table>
</form>
</td>
</tr>
</table>
<a href="blogupload.php" title="Back">Back</a>

<?php
 
// Call our connection file
require("includes/conn.php");
 
$date=$_POST['date'];
$blog=$_POST['blog'];
$query="Insert into blog (date, blog) values ('$date', '$blog')";  
mysqli_query($query) or die ('error updating database'); 
echo "Het nieuws is geupdate met '$date', '$blog'. De pagina zal over 5 seconden terug naar blogupload gaan.";
header('Refresh: 5; url=blogupload.php');
?>

$result=mysqli_query($sql);

mysqli_query()函数期望连接作为第一个参数。所以这个电话看起来更像:

$result=mysqli_query($conn, $sql);

或者,如果您喜欢面向对象编程($mysqli是连接对象):

$result = $mysqli->query($sql);

您确定使用了相同的数据库连接标准吗。我的意思是,你确定你正在使用mysqli_connect()函数进行数据库连接吗?。

另一个很大的可能性是您查询的准确性。因为通常当查询是错误的,或者按不正确的字段对结果进行排序时,你会得到null的结果,我相信这就是为什么你的查询不能从数据库中获取数据的原因。

希望能有所帮助。