如何在准备好的 select 语句后显示单行
How to display single row after prepared select statement
我准备了以下 Select 语句:
$category = "Acoustic Guitars"; //product id
//create a prepared statement
$query = "SELECT id, Category, Manufacturer, Model, Color, LargeImage1, AM_price, RRP, Featured FROM products WHERE Category = ?";
$statement = $GuitarDB->prepare($query);
$statement->bind_param('s', $category);
$statement->execute()
$statement->bind_result($id, $Category, $Manufacturer, $Model, $Color, $LargeImage1, $AM_price, $RRP, $Featured);
当我执行以下操作时,结果显示良好:
print '<table border="1">';
//fetch records
while($statement->fetch()) {
print '<tr>';
print '<td>'.$id.'</td>';
print '<td>'.$Category.'</td>';
print '<td>'. $Manufacturer.'</td>';
print '<td>'.$Model.'</td>';
print '</tr>';
}
print '</table>';
//close connection
$statement->close();
但是我只想显示 1 行我该怎么做因为:print $id
例如给了我 0
这可能很容易,但我真的很挣扎。欢迎任何帮助。
请更新您的代码以仅打印数组中的一行。
print '<table border="1">';
$row = null;
//fetch records
while($statement->fetch()) {
if($row == null) {
print '<tr>';
print '<td>'.$id.'</td>';
print '<td>'.$Category.'</td>';
print '<td>'. $Manufacturer.'</td>';
print '<td>'.$Model.'</td>';
print '</tr>';
}
$row++;
}
print '</table>';
//close connection
$statement->close();
如果您只想显示一行,那么为什么要从数据库中获取所有结果。请更新您的查询如下。
$query = "SELECT id, Category, Manufacturer, Model, Color, LargeImage1, AM_price, RRP, Featured FROM products WHERE Category = ? limit 1";
试试这个..您可以使用 break 在打印第一条记录后退出 while 循环..不需要使用另一个变量..
print '<table border="1">';
while($statement->fetch()) {
print '<tr>';
print '<td>'.$id.'</td>';
print '<td>'.$Category.'</td>';
print '<td>'. $Manufacturer.'</td>';
print '<td>'.$Model.'</td>';
print '</tr>';
//you can use break to get out this while loop after printing first data
break;
}
print '</table>';
//close connection
$statement->close();
我准备了以下 Select 语句:
$category = "Acoustic Guitars"; //product id
//create a prepared statement
$query = "SELECT id, Category, Manufacturer, Model, Color, LargeImage1, AM_price, RRP, Featured FROM products WHERE Category = ?";
$statement = $GuitarDB->prepare($query);
$statement->bind_param('s', $category);
$statement->execute()
$statement->bind_result($id, $Category, $Manufacturer, $Model, $Color, $LargeImage1, $AM_price, $RRP, $Featured);
当我执行以下操作时,结果显示良好:
print '<table border="1">';
//fetch records
while($statement->fetch()) {
print '<tr>';
print '<td>'.$id.'</td>';
print '<td>'.$Category.'</td>';
print '<td>'. $Manufacturer.'</td>';
print '<td>'.$Model.'</td>';
print '</tr>';
}
print '</table>';
//close connection
$statement->close();
但是我只想显示 1 行我该怎么做因为:print $id
例如给了我 0
这可能很容易,但我真的很挣扎。欢迎任何帮助。
请更新您的代码以仅打印数组中的一行。
print '<table border="1">';
$row = null;
//fetch records
while($statement->fetch()) {
if($row == null) {
print '<tr>';
print '<td>'.$id.'</td>';
print '<td>'.$Category.'</td>';
print '<td>'. $Manufacturer.'</td>';
print '<td>'.$Model.'</td>';
print '</tr>';
}
$row++;
}
print '</table>';
//close connection
$statement->close();
如果您只想显示一行,那么为什么要从数据库中获取所有结果。请更新您的查询如下。
$query = "SELECT id, Category, Manufacturer, Model, Color, LargeImage1, AM_price, RRP, Featured FROM products WHERE Category = ? limit 1";
试试这个..您可以使用 break 在打印第一条记录后退出 while 循环..不需要使用另一个变量..
print '<table border="1">';
while($statement->fetch()) {
print '<tr>';
print '<td>'.$id.'</td>';
print '<td>'.$Category.'</td>';
print '<td>'. $Manufacturer.'</td>';
print '<td>'.$Model.'</td>';
print '</tr>';
//you can use break to get out this while loop after printing first data
break;
}
print '</table>';
//close connection
$statement->close();