数据库
首页 > 数据库> > php-无法获得mysql_fetch_rows进行合作

php-无法获得mysql_fetch_rows进行合作

作者:互联网

我正在尝试根据用户输入的变量从mysql表中检索行.基本上,如果use想要搜索“ bob dilan”,则$fname和$lname会搜索并显示发生此操作的所有行,因为$mysql_num_fields运行良好,所以与用户的连接很好.目前,我的mysql_fetch_rows while循环内部没有任何工作,甚至没有回声,但没有错误.我什至尝试使用like运算符代替=都无济于事.

PHP

$sql = "SELECT * FROM  ".$tbl_name." 
WHERE fname='".$fname."' 
and lname='".$lname."' 
and city='".$city."'
and phone='".$pohne."'
and interest_inet='".$internet."'
and interest_tv='".$television."'
and interest_voice='".$voice."'
and submission_ip='".$ip."'
and inquiry_handled='".$handled."'";
$result = mysql_query($sql);

echo "<table border='1'>";
echo "<tr>";
$i = 0;

while ($i < mysql_num_fields($result))
{
    $meta = mysql_fetch_field($result, $i);   
    echo "<th>".$meta->name."</th>";
    $i++;
}

while ($row = mysql_fetch_row($result))
{
    echo '<tr>';

foreach($row as $item)
{
    echo "<td>".$item."</td>";
}

echo '</tr>';
echo $row;
}

echo "</table>";

解决方法:

您已经遍历了结果集一次,这导致指针前进到结果集的末尾.

在一个循环中完成所有工作,或将整个结果集提取到一个数组中,并对其进行两次迭代.

除此之外,您是shouldn’t use mysql_* functions in new code.它们不再维护and are officially deprecated.看到red box吗?请改为了解有关prepared statements的信息,并使用PDOMySQLithis article可以帮助您确定哪个.如果选择PDO,则为here is a good tutorial.

标签:html-table,sql,mysql,php
来源: https://codeday.me/bug/20191031/1975678.html