如何使用PHP循环MySQL数据

如何使用PHP循环MySQL数据,php,mysql,Php,Mysql,我错误地购买了godaddy linux,现在我不知道如何使用经典ASP制作我的简单照片库 我已经创建了一个MySQL表,其中包含“image\u path”和“no\u of\u images”等字段。。。我要做的是连接到数据库表,将image\u path放入img标记并循环,直到满足存储在“no\u of\u images”中的数值 我曾尝试使用此代码执行此操作,但它不起作用 <?php $servername = "localhost"; $username="";

我错误地购买了godaddy linux,现在我不知道如何使用经典ASP制作我的简单照片库

我已经创建了一个MySQL表,其中包含“image\u path”和“no\u of\u images”等字段。。。我要做的是连接到数据库表,将image\u path放入img标记并循环,直到满足存储在“no\u of\u images”中的数值

我曾尝试使用此代码执行此操作,但它不起作用

<?php
    $servername = "localhost";
    $username="";
    $password="";
    $dbname="";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    $myid = $_GET['id']; 
    $sql = "SELECT * FROM gallery where id='$myid'";
    $result = $conn->query($sql);

    $row = mysql_fetch_row($result);
    $image_path = $row[3]; 
    $no_of_images = $row[4]; 
    $x = 1;

    while($x <= $no_of_images ) {
        echo "<img src="$image_path"/"$x".jpg><br>";
        $x++;
    } 

    $conn->close();
?> 

您正在使用mysqli结果生成mysql函数。您应该使用
$result->fetch_row()。您应该使用
$result->fetch_row()

作为前面的答案-切换到MySQL函数。使用此代码:

<?php

$servername = "localhost";
$username   = "";
$password   = "";
$dbname     = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$myid   = $_GET['id']; 
$sql    = "SELECT * FROM gallery where id='$myid'";
$result = $conn->query($sql);

$x      = 1;

while ($row = $result -> fetch_row()){

     $image_path = $row[3]; 
     $no_of_images = $row[4]; 

     echo "<img src=" .$image_path. "/" .$x. ".jpg><br>";
     $x++;

}

$conn->close(); 

正如前面的回答所述,您可以切换到MySQL函数。使用此代码:

<?php

$servername = "localhost";
$username   = "";
$password   = "";
$dbname     = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$myid   = $_GET['id']; 
$sql    = "SELECT * FROM gallery where id='$myid'";
$result = $conn->query($sql);

$x      = 1;

while ($row = $result -> fetch_row()){

     $image_path = $row[3]; 
     $no_of_images = $row[4]; 

     echo "<img src=" .$image_path. "/" .$x. ".jpg><br>";
     $x++;

}

$conn->close(); 

我很确定GoDaddy允许您切换到不同的服务器平台。您将MySQL API与
MySQL\u fetch\u row
混合使用。这些不同的API不会相互混合。检查错误后,会发出错误信号。我很确定你也有一个SQL注入漏洞。你需要仔细阅读一下,然后开始使用准备好的语句。是的,我熟悉用经典asp将查询字符串货币化!不知道如何用php实现它!谢谢你的链接。我很确定GoDaddy可以让你切换到不同的服务器平台。你将MySQL API与
MySQL\u fetch\u row
混合在一起。这些不同的API不会相互混合。检查错误后,会发出错误信号。我很确定你也有一个SQL注入漏洞。你需要仔细阅读一下,然后开始使用准备好的语句。是的,我熟悉用经典asp将查询字符串货币化!不知道如何用php实现它!谢谢你的链接。谢谢你的编辑,它连接了,但只输出了一张图片!如何循环$image\u路径,直到满足$no\u中的值17为止?我可以在回声上方使用另一个while循环吗?对不起,我不理解,因为我对PHP完全陌生!您的SQL查询是否返回多行数据?不,它只返回一行,但希望循环一列(图像路径)<=另一列中的值(图像的数量)。感谢编辑,它连接但只输出一个图像!如何循环$image\u路径,直到满足$no\u中的值17为止?我可以在回声上方使用另一个while循环吗?对不起,我不理解,因为我对PHP完全陌生!SQL查询是否返回多行数据?否,仅返回一行,但希望循环一列(图像路径)<=另一列中的值(图像的数量)