我正在尝试从我的数据库中显示一些数据,当我尝试显示由搜索栏指定的某些数据时,我不会工作。这是代码。我希望有人能解决我的问题。
我已经尝试了几个小时,但似乎没有任何效果。
我删除了大部分的HTML代码,甚至可以发帖。
<?php
include_once 'includes/dbh.inc.php';
?>
<!DOCTYPE html>
<html lang="en">
<body>
<form>
<input type="text" name="search" placeholder="Search for graphicscard"/>
<input type="submit" value="Search" />
<?php
?>
</form>
<table width="600" border="1" cellpaddin="1" cellspacing="1">
<tr>
<th>Graphicscard</th>
<th>Coin</th>
<th>Hashrate</th>
<th>Bios-modded</th>
<th>Core-clock</th>
<th>Memory-clock</th>
<th>Power draw</th>
<th>Additional info</th>
</tr>
<?
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace("#[^`0-9a-z]#i","", $searchq);
$query = mysqli_query("SELECT * FROM 'cards' WHERE 'name' LIKE '$search%' OR coin LIKE '$search%'") or die ("No results");
$count = mysqli_num_rows($queryQ);
while ($row = mysqli_fetch_array($query)) {
echo "<tr>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['coin'] . "</td>";
echo "<td>".$row['hashrate'] . "</td>";
echo "<td>".$row['bios_mod'] . "</td>";
echo "<td>".$row['core_clock'] . "</td>";
echo "<td>".$row['memory_clock'] . "</td>";
echo "<td>".$row['power_draw'] . "</td>";
echo "<td>".$row['additional_info'] . "</td>";
echo "</tr>";
}
}
?>
答案 0 :(得分:0)
用作函数的mysqli_query()需要mysqli_connect()返回的链接id o mysqli_init()
所以你需要一个$ connection var:
$connection=mysqli_connect("localhost","my_user","my_password","my_db");
并在查询中使用它:
mysqli_query($connection, "SELECT * FROM 'cards' WHERE 'name' LIKE '$search%' OR coin LIKE '$search%'") or die ("No results");
答案 1 :(得分:0)
您在查询中使用$search
,但正确的变量应为$searchq
。
答案 2 :(得分:0)
您是否获得了正确的查询结果以及其中的行数?我可以看到你的查询中有错误:
SELECT * FROM&#39; cards&#39;在哪里&#39;名称&#39;就像......
表和字段的名称应该在另一个quoats中 - “
SELECT * FROM cards
WHERE name
LIKE ......
或者这是在发布消息上输入问题?
在这一行:$ count = mysqli_num_rows( $ queryQ ); - 查询结果的变量是 - $ query而不是$ queryQ
答案 3 :(得分:0)
以下是另一种方式:
select * from cards where name like 'ABC%'
union
select * from cards where coin like 'XYZ%'
union
select * from cards where gender like 'PQR%';
答案 4 :(得分:0)
更改您的代码:
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace("#[^`0-9a-z]#i","", $searchq);
$query = mysql_query("SELECT * FROM cards WHERE name LIKE '$searchq%' OR coin LIKE '$searchq%'") or die ("No results");
$count = mysql_num_rows($query);
while ($row = mysql_fetch_array($query)) {
echo "<tr>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['coin'] . "</td>";
echo "<td>".$row['hashrate'] . "</td>";
echo "<td>".$row['bios_mod'] . "</td>";
echo "<td>".$row['core_clock'] . "</td>";
echo "<td>".$row['memory_clock'] . "</td>";
echo "<td>".$row['power_draw'] . "</td>";
echo "<td>".$row['additional_info'] . "</td>";
echo "</tr>";
}
}
如果您使用mysqli,请参阅此referenc了解如何使用它
在您的代码表单中添加发送数据的方法POST:&lt; form method =&#34; POST&#34;&gt;