最后我的 echo 语句肯定是错误的,我只是为了表明我想要做的事情,我只想把这三个变量称为先前设置的。这样做的正确方法是什么?
$table_id = 'mynewtable';
$query = "SELECT id,name,price FROM $table_id";
$result_set= mysql_query($query);
$id = "SELECT id FROM $table_id";
$name = "SELECT name FROM $table_id";
$price = "SELECT price FROM $table_id";
if ($result_set){
$record= mysql_fetch_row($result_set);
$idrecord= mysql_fetch_row($id);
$namerecord= mysql_fetch_row($name);
$pricerecord= mysql_fetch_row($price);
foreach ( $record as $value){
echo "<td><tr> $idrecord $namerecord $pricerecord </tr></td>";
}
}
答案 0 :(得分:3)
单独获取每个元素是没有意义的。使用mysql_fetch_assoc获取包含SELECT语句中指定的列的数组作为键。通过这种方式,您可以轻松获得所需的回声,而无需不必要地查询数据库
$table_id = 'mynewtable';
$query = "SELECT id,name,price FROM $table_id";
$result_set = mysql_query($query);
if($result_set)
{
while ($row = mysql_fetch_assoc($result_set)) {
echo "<td><tr>" .$row["id"]
. " ". $row["name"]
. " " .$row["price"] . "</tr></td>";
}
}
答案 1 :(得分:1)
您的$resultset
仅来自第一个查询($query = "SELECT id,name,price FROM $table_id";
),而不是其他查询?
本节:
$id = "SELECT id FROM $table_id";
$name = "SELECT name FROM $table_id";
$price = "SELECT price FROM $table_id";
实际上没用,因为它只是将字符串分配给$id
,$name
和$price
。
你的意思是?:
$result_set= mysql_query($query);
while ($row = mysql_fetch_assoc($result_set))
{
echo "<td><tr> ".$row['id']." ".$row['name']." ".$row['price']." </tr></td>";
}
答案 2 :(得分:1)
$table_id = 'mynewtable';
$query = "SELECT id,name,price FROM $table_id";
$result_set= mysql_query($query);
if (mysql_num_rows() > 0){
while($row = mysql_fetch_array($result_set)) {
echo $row['id'] .", ". $row['name'] .", ". $row['price'];
}
}
请开始使用mysqli_ *而不是mysql _ *
答案 3 :(得分:0)
为什么不
$table_id = 'mynewtable';
$query = "SELECT id, name, price FROM $table_id";
$result_set= mysql_query($query);
if ($result_set){
while( $row = mysql_fetch_array(result_set)){ ?>
<td>
<tr> <?php echo $row['id'] . ' ' $row['name'] . ' ' . $row['price']; ?> </tr>
</td>
<?php
} // end of while
} // end of if
答案 4 :(得分:0)
您无需为ID,名称和价格分别选择三个。只需使用:
if ($result_set) {
$row = $result_set -> fetch_assoc();
$id = $row['id'];
$name = $row['name'];
$price = $row['price'];
}
然后您可以将其输入到您的表格中,或者根据您的信息做任何您想做的事情。
仅当您使用 MySQLi 时,fetch_assoc()
才有效。 mysql_fetch_assoc
已弃用,您应切换为 PDO 或 MySQLi
答案 5 :(得分:0)
<?php
$query = "SELECT id,name,price FROM mynewtable";
$result_set = mysql_query($query);
if ($result_set!==false){
while( $row = mysql_fetch_assoc( $result_set ) ) {
echo '<td>' $row['id'] . ' ' . $row['name'] . ' ' . $row['price'] . '</td>';
}
}
else {
echo "Something went wrong with the query:";
echo mysql_error( );
}
这看起来更像应该有效:)
编辑:顺便说一句,强烈建议不要使用mysql_ *,因为它们会在即将推出的PHP版本中消失。改为开始使用PDO或MySQLi。