Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DB将不会从php脚本中呈现_Php_Mysql - Fatal编程技术网

DB将不会从php脚本中呈现

DB将不会从php脚本中呈现,php,mysql,Php,Mysql,晚上好 这里是典型的php新手问题。这是一个个人项目,而不是一个大学生寻找解决方案,需要从我的网站呈现一个数据库。下面的代码存放在Wordpress网站中,您将看到WP插件使用的短代码 我已经与我的托管公司核实了我的数据库访问信息,我知道这不是问题所在 我遇到的问题是,我得到了死亡的信息;无法检索您的请求 DEFINE变量已经过Squid验证,应该是正确的。您将看到一系列echo函数,以了解当脚本运行时问题的确切位置,我将一直通过连接测试3和连接测试4 如果我在页面中输入搜索条件,我会收到“fa

晚上好

这里是典型的php新手问题。这是一个个人项目,而不是一个大学生寻找解决方案,需要从我的网站呈现一个数据库。下面的代码存放在Wordpress网站中,您将看到WP插件使用的短代码

我已经与我的托管公司核实了我的数据库访问信息,我知道这不是问题所在

我遇到的问题是,我得到了死亡的信息;无法检索您的请求

DEFINE变量已经过Squid验证,应该是正确的。您将看到一系列echo函数,以了解当脚本运行时问题的确切位置,我将一直通过连接测试3和连接测试4

如果我在页面中输入搜索条件,我会收到“fancy meeting you here”消息

非常感谢您的帮助

//剧本如下

<html>
<head>
   <style/type = "text/css">

     table {
      background-color: #FCF;
     }

     th {
     width: 150px;
     text-align: left;
    }
   </style>
</head>

<body>
<h1>Race Search</h1>


<form method = "post" action="search.php"> 
<input type = "hidden" name = "submitted" value = "true"/>

<label> Search Race: 

<select name = "race">
   <option value = "date">Race Date</option>
   <option value = "city">Location</option>
   <option value = "race">Race</option>
</select>
</label>

<label>Search Criteria: <input type="text" name="criteria" /></label>

</form>

//short code from Wordpress plug-in
[allowphp useadvancedfilter]



DEFINE ('DB_USER', 'Removed');
DEFINE ('DB_PSWD', 'Removed');
DEFINE ('DB_HOST', 'Removed');
DEFINE ('DB_NAME', 'Removed');

$dbcon = mysql_connect(DB_HOST, DB_USER, DB_PSWD, DB_NAME);

//connection test 1
echo "connection1";

$race = $_POST['race'];
$criteria = $_POST['criteria'];

//connection test 2
echo "connection2";
$query  = "SELECT * FROM Races WHERE $category = '$criteria'";

//connection test 3
echo "connection3";
$result = mysqli_query($dbcon, $query) or die('Cannot retrieve your request');

//connection test 4, never gets here....
echo "connection4";
$num_rows = mysqli_num_rows($result);

echo "$num_rows results found";
echo "<table>";
echo "<tr><th>Race Date</th><th>Location</th><th>Event</th> </tr>";

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

     echo "<tr><td>";
     echo $row['Date'];
     echo "</td><td>";
     echo $row['City'];
     echo "</td><td>";
     echo $row['Race Name'];
     echo "</td></tr>";
}

echo "</table>";

//short code from Wordpress plug-in
 [/allowphp useadvancedfilter]


</body>
</html>

您正在使用mysqli\u查询的mysql\u connect。您应该使用mysqli_connect,它们不能互换

如果可以更新select选项值以匹配列名,则可以使用以下方法:

$where = '';
if (isset($_POST['race'])) {
    $race = $POST['race'];
    $where = ' WHERE `'.$race."` = '".mysql_real_escape_string($_POST['criteria'])."'";
}
$query = 'SELECT * FROM `Races`'.$where;

如果没有,这仍然有效,但需要使用switch语句或其他方法将$race设置为与列名匹配的正确值。无论如何,您可能希望这样做,以确保$\u POST['race']是一个预期值。

mysql\u error怎么说?@johncode mysqli\u error*。编辑刚刚意识到OP同时使用了这两种语言。@johncode根据语法,mysql_错误是一个要返回的函数,但是,我在脚本中没有使用它。您是否建议添加此功能。这一刻我没有得到任何错误,只是得到了无法从模具中检索到您的请求;函数。感谢您的建议,@tchshiels…但是我进行了编辑,仍然没有表…我将mysql\u连接更改为mysql\u连接。我应该把所有脚本都改成mysqli_u还是mysql_u是$category实际上是一个列名?这是一个变量集吗$query=从比赛中选择*,其中$category='$criteria'@user3413142关于mysql_uu与msyqli_u的对比,mysqli从PHP5开始就存在,而mysql_uu从PHP5.5.0开始就被弃用。因此,只要您至少使用PHP5,就应该使用mysqli。啊!!我明白你的意思。因此,no$category不需要是一个变量。我希望用户可以选择搜索比赛日期,城市,比赛名称。另外,无论是否有搜索,都要让表呈现所有行。我的栏目是日期、城市、种族名称。我还把它全部改回了mysqli_