编辑:最好是使用内置的num_rows,而不是重新发明轮子
编辑2:我有一种感觉,他不希望表的每一行都复制。修改代码一个位
phpMyAdmin中的查询
SELECT * FROM table WHERE value1 LIKE '%O%' OR value2 LIKE '%1%'
返回所有包含0或1的行。
但是在PHP脚本中实现的相同查询只返回匹配0或1的第一行。而是关闭所有匹配0或1的行。
这是我当前的PHP脚本:
mysqli_select_db ($con, $database) or die (mysqli_error());
$sqli = mysqli_query ($con,"SELECT * FROM table WHERE VALUE1 LIKE '%O%' OR VALUE2 LIKE '%1%'") or die (mysqli_error());
$echo = mysqli_fetch_assoc($sqli);
if (empty ($echo))
{
echo "No matching results found.";
}
else
{
echo "<table width='50%' border='1'>";
echo "<tr><th>VALUE1</th><th>VALUE2</th></tr>";
echo "<tr><td>{$echo["VALUE1"]}</td>";
echo "<td>{$echo["VALUE2"]}</td></tr>";
}
输出只是第一个匹配的行。而不是所有匹配的行。此外,当我使用print_r而不是表行
必须像这样循环遍历所有行
if( !mysqli_num_rows($sqli) )
{
echo "No matching results found.";
} else {
$table = "<table width='50%' border='1'>n";
$table .= "<tr><th>VALUE1</th><th>VALUE2</th></tr>n";
while( $echo = mysqli_fetch_assoc($sqli) )
{
$table .= "<tr><td>{$echo['VALUE1']}</td><td>{$echo['VALUE2']}</td></tr>n";
}
$table .= "</table>";
}
注意,我添加了几行代码来计算行数,并在没有找到匹配时显示一条消息(因为我打算从你的问题中获得目标)。
编辑:最好是使用内置的num_rows,而不是重新发明轮子
编辑2:我有一种感觉,他不希望表的每一行都复制。修改代码一个位