处理表单时的PHP空白页
我花了大约1到2个小时寻找以前提出的问题的答案, 修改代码中的某些内容,我尽一切努力在代码中抛出某种错误,但尽管如此,我仍然将我引导到一个空白页 这段代码是一个汽车零部件搜索引擎,我在其中输入一个数值或描述%$buscar%,并显示一个包含所有搜索结果或特定搜索结果的表格 这是连接到数据库和查询的PHP:处理表单时的PHP空白页,php,mysql,xampp,Php,Mysql,Xampp,我花了大约1到2个小时寻找以前提出的问题的答案, 修改代码中的某些内容,我尽一切努力在代码中抛出某种错误,但尽管如此,我仍然将我引导到一个空白页 这段代码是一个汽车零部件搜索引擎,我在其中输入一个数值或描述%$buscar%,并显示一个包含所有搜索结果或特定搜索结果的表格 这是连接到数据库和查询的PHP: <?php error_reporting(E_ALL); // Report on all errors ini_set('display_errors', '1'); if ($
<?php
error_reporting(E_ALL); // Report on all errors
ini_set('display_errors', '1');
if ($_POST['buscar'])
{
// Take te value
$buscar = $_POST['buscar'];
// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
//Conection to DB
$servidor = "localhost"; //Nombre del servidor
$usuario = "myuser"; //Nombre de usuario en tu servidor
$password = "mypass"; //Contraseña del usuario
$base = "dbname"; //Nombre de la BD
//conection
$link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
//Query:
$query = "SELECT * FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error in the consult.." . mysqli_error($link));
//execute the query.
$result = mysqli_query($link, $query);
//display information:
while ($field = mysqli_fetch_field($result)){
echo "<td>$field->name</td> \n";
}
while($row = mysqli_fetch_array($result)) {
echo "<table border = '1'> \n";
//Show Table names
echo "<tr> \n";
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["id"]."</td> \n";
echo "<td>".$row["descripcion"]."</td> \n";
echo "<td>".$row["cantidad"]."</td> \n";
echo "</tr> \n";
} while ($row = mysqli_fetch_array($result));
echo "</table> \n";
echo "¡ No se ha encontrado ningún registro !";
}
}
}
?>
尝试以下方法:
if ($_SERVER['REQUEST_METHOD']=='POST'){
$buscar = $_REQUEST['buscar'];
if(empty($buscar)) {
echo "No se ha ingresado una cadena a buscar";
}else{
$servidor = "localhost";
$usuario = "myuser";
$password = "mypass";
$base = "dbname";
$link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
$query = "SELECT id,descripcion,cantidad FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error " . mysqli_error($link));
if ($result=mysqli_query($link, $query)) {
echo "<table border = '1'>
<tr>
<td>ID</td>
<td>Descripcion</td>
<td>Cantidad</td>
</tr>";
if ($result->num_rows>0){
while ($row=mysqli_fetch_array($result)){
echo "<tr>
<td>".$row["id"]."</td>
<td>".$row["descripcion"]."</td>
<td>".$row["cantidad"]."</td>
</tr>";
}
} else {
echo "<tr>
<td colspan='3'>No se ha encontrado ningún registro</td>
</tr>";
}
echo "</table>";
}
}
}
if($\u服务器['REQUEST\u METHOD']=='POST'){
$buscar=$_请求['buscar'];
如果(空($buscar)){
回声“没有公共汽车”;
}否则{
$servidor=“localhost”;
$usuario=“myuser”;
$password=“mypass”;
$base=“dbname”;
$link=mysqli_connect($servidor“,$usuario“,$password“,$base”)或die(“Error”)。mysqli_Error($link));
$query=“从Repostos中选择id、description、cantidad,其中id类似“%$buscar%”和description类似“%$buscar%”按id排序”或die(“Error.mysqli_Error($link));
如果($result=mysqli_query($link,$query)){
回声“
身份证件
描述
康蒂达
";
如果($result->num_rows>0){
while($row=mysqli\u fetch\u数组($result)){
回声“
“$row[“id”]”
“$row[“description”]”
“$row[“cantidad”]”
";
}
}否则{
回声“
不,我不知道
";
}
回声“;
}
}
}
在mho里看起来有点干净。您还在字段“id”上进行字符串搜索,这通常是一个int类型的字段,但在您的设计中可能会有所不同
希望有帮助。首先使用“代码>(ISSET($xPo[’BasCar)))< <代码>而不是<代码>如果($$POST[ BASCAR ])< /代码>然后检查您的表单中的值是否设置,可能是您丢失了表单中的某些东西。我更改它,并且仍然使用空白页…我编辑了问题,并将表单代码放入其中。
这应该是Submit
应该是
结果页真的是空白页(如果查看源代码,则没有内容)还是有空表?我从未使用过mysqli_fetch_字段,但可能是在字段fetch_之前调用mysqli_fetch_行,您可能在结果集中向前移动光标,而没有获取您想要的内容。这对我很有用。。。现在代码显示表,但没有记录。。。我在测试数据库上有一些记录,thx it helpsok看看我做了什么,你的答案给了我一个非常好的表格,但是没有结果…(我搜索的内容)对于测试,我更改了查询中的%$buscar%以获得一个精确的值,这给了我所有我想要的表格和结果,等等,我认为问题出在%$buscar%上,但我不太了解它:SDo echo$buscar after$buscar=$\u REQUEST['buscar'];好的,我把它放进去,表格消失,只显示我放在搜索中的单词或数字。。。我想我以后会提出一个新问题。。
if ($_SERVER['REQUEST_METHOD']=='POST'){
$buscar = $_REQUEST['buscar'];
if(empty($buscar)) {
echo "No se ha ingresado una cadena a buscar";
}else{
$servidor = "localhost";
$usuario = "myuser";
$password = "mypass";
$base = "dbname";
$link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
$query = "SELECT id,descripcion,cantidad FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error " . mysqli_error($link));
if ($result=mysqli_query($link, $query)) {
echo "<table border = '1'>
<tr>
<td>ID</td>
<td>Descripcion</td>
<td>Cantidad</td>
</tr>";
if ($result->num_rows>0){
while ($row=mysqli_fetch_array($result)){
echo "<tr>
<td>".$row["id"]."</td>
<td>".$row["descripcion"]."</td>
<td>".$row["cantidad"]."</td>
</tr>";
}
} else {
echo "<tr>
<td colspan='3'>No se ha encontrado ningún registro</td>
</tr>";
}
echo "</table>";
}
}
}