我有一个MySQL数据库,正在尝试打印出特定行的内容。由于某种原因echo $ row [1];完美地打印出第1行的内容,但是我无法对其他行执行相同的操作(echo $ row [2] ;、 echo $ row [3];等)。该表具有唯一的索引列,其中包含四行标记为1-4的行。
我最终想要做的是仅打印最后一行的内容,我认为这看起来像是echo $ row ['$ maxrows'];但是我什至无法获得打印超过1行的语法!
我认为这可能是我的表的问题,但由于有索引列,因此无法完全看到它是什么。任何建议或指示将不胜感激?
我该怎么做以回显表中第一行之后的行?
更新
var_dump($row);
返回以下内容
{ [0]=> string(1) "1" ["Index"]=> string(1) "1" [1]=> string(121) "https://www.tilley.com/media/catalog/product/cache/image/1100x1100/e9c3970ab036de70892d86c6d221abfe/t/t/ttw2_black2_a.jpg" ["Sketch"]=> string(121) "https://www.tilley.com/media/catalog/product/cache/image/1100x1100/e9c3970ab036de70892d86c6d221abfe/t/t/ttw2_black2_a.jpg" }
该表有两列:
1-Name: Index - int(11) - AUTO_INCREMENT
2-Name: Sketch - text
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM Table";
$result = mysqli_query($conn, $sql);
$maxrows = mysqli_num_rows($result);
//$result = $conn->query("SELECT * FROM Table");
$row = $result->fetch_array(MYSQL_BOTH);
echo $maxrows;
echo $row[1];
echo $row[2];
echo $row[3];
echo $row[4];
//echo $result;
$conn->close();
答案 0 :(得分:0)
您的结果数组具有4个键:0
,Index
,1
和Sketch
,仅是 first 行的结果。您正在查询2列,但尝试访问4列。列编号以0开头。并且您不会迭代结果行。 $row = $result->fetch_array(MYSQL_BOTH);
应该处于循环状态。
MYSQL_BOTH
)。使用PDO::FETCH_ASSOC
或PDO::FETCH_NUM
。var_dump()
而不是echo
进行调试。总是。foreach
循环。