Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP和MYSQL分离页面?_Php_Mysql - Fatal编程技术网

如何使用PHP和MYSQL分离页面?

如何使用PHP和MYSQL分离页面?,php,mysql,Php,Mysql,我试图用php和mysql分离页面,但显示了这个错误 警告:mysqli_num_rows()要求参数1为mysqli_结果,布尔值在第17行的D:\XAMPP\htdocs\all.php中给出 警告:mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在第58行的D:\XAMPP\htdocs\all.php中给出 我的PHP代码 <html> <head> <title>All </title> </head&

我试图用php和mysql分离页面,但显示了这个错误

警告:mysqli_num_rows()要求参数1为mysqli_结果,布尔值在第17行的D:\XAMPP\htdocs\all.php中给出

警告:mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在第58行的D:\XAMPP\htdocs\all.php中给出

我的PHP代码

<html>
<head>
<title>All </title>
</head>
<body>
<?php
$dbhost = "localhost";
 $dbusername = "root";
 $dbpassword = "";
 $dbname = "drill";
 $mysqli = new mysqli ($dbhost, $dbusername, $dbpassword, $dbname);
    
$strSQL = "SELECT * FROM data ";
$objQuery = mysqli_query($mysqli,$strSQL);

$Num_Rows = mysqli_num_rows($objQuery);

$Per_Page = 2;   // Per Page

$Page = $_GET["Page"];
if(!$_GET["Page"])
{
    $Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
    $Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
    $Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
    $Num_Pages =($Num_Rows/$Per_Page)+1;
    $Num_Pages = (int)$Num_Pages;
}


$strSQL .=" order  by no ASC LIMIT $Page_Start , $Per_Page";// no is autoincrement

$objQuery = mysqli_query($mysqli,$strSQL);
?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">no</div></th>
    <th width="98"> <div align="center">campaign </div></th>
    <th width="198"> <div align="center">url</div></th>
    
  </tr>
<?php
while($objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC))
{
?>
  <tr>
    <td><div align="center"><?php echo $objResult["no"];?></div></td>
    <td><div align="center"><?php echo $objResult["camp"];?></div></td>
    <td><div align="center"><?php echo $objResult["url"];?></div></td>
    
  </tr>
<?php
}
?>
</table>

<br>
Total <?php echo $Num_Rows;?> Record : <?php echo $Num_Pages;?> Page :
<?php
if($Prev_Page)
{
    echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}

for($i=1; $i<=$Num_Pages; $i++){
    if($i != $Page)
    {
        echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
    }
    else
    {
        echo "<b> $i </b>";
    }
}
if($Page!=$Num_Pages)
{
    echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
mysqli_close($mysqli);
?>
</body>
</html>

全部的
不
运动
网址

总记录:第页:

请帮助我。

根据
mysqli\u query
的PHP文档,函数:

失败时返回FALSE。为了成功地选择、显示、描述或解释查询,mysqli_query()将返回一个mysqli_结果对象。对于其他成功的查询,mysqli_query()将返回TRUE

好奇行
$objQuery=mysqli\u query($mysqli,$strSQL)
失败,返回
false
,然后在下一行抛出错误,因为它是一个布尔值,而不是您期望的对象

我对mysqli功能不是很在行,但请尝试替换此块:

$objQuery = mysqli_query($mysqli,$strSQL);

$Num_Rows = mysqli_num_rows($objQuery);
为此:

$objQuery = mysqli_query($mysqli,$strSQL);

if ($objQuery == false) {
    echo $mysqli->error;
    exit;
}

$Num_Rows = mysqli_num_rows($objQuery);
我应该注意到,这些代码都没有经过测试,所以您可能需要稍微使用一下

最后,这里的目标是尝试看看如果有错误会抛出什么错误。如果没有错误,那么还有一些调试要做,但至少这是一个开始

以下是mysqli_查询的文档:

对于mysqli::$error:


希望这至少能帮你弄清真相。

试着建立这样的联系

$con=mysqli_connect($dbhost, $dbusername, $dbpassword, $dbname);
然后将此连接传递给函数

$objQuery = mysqli_query($con,$strSQL);
希望这能解决问题

试试看

if($objQuery){
$Num_Rows = mysqli_num_rows($objQuery);
}
$strSQL=“从数据中选择*”


数据和“”之间的空格是否有问题?

看起来您的查询失败了,因为这将使
mysqli\u查询
返回布尔值false,而不是
mysqli\u结果
。使用
echo$mysqli->error;
在查询命令后面显示错误消息。@OscarJ show result表'drill.data'不存在“最终我得到了它,因为我的表数据不是相同的名称。谢谢大家。您的代码与她的代码相同,所以这不会造成任何差异。这不是问题的原因,我删除了空格,但显示了相同的错误。在第17行中,不显示错误,但在第58行中,显示了相同的错误。