无法通过mysql在php页面上得到满足

时间:2014-05-05 04:33:06

标签: php html mysql

我没有在搜索中输入或输入任何随机信息,结果显示,"未找到结果"我没关系,但当我输入任何与MySQL表相关的内容时显示错误,

  

" **致命错误:在第10行" /home/opticfhb/public_html/vacationsbychoice.com/search_result.php中调用未定义函数mysql_fetch_assocc();

我知道页面可以连接到db。

形式:

<form name="form_search" method="post" action="search_result.php">
    <input name="search" id="search" type="text" value="Type the name of City, State or Place you are visiting.." onFocus="if (value == 'Type the name of City, State or Place you are visiting..') {value=''}" onBlur="if (value== '') {value='Type the name of City, State or Place you are visiting..'}" />

    <input id="from" type="date" value="Check In" onFocus="if (value == 'Check In') {value=''}" onBlur="if (value== '') {value='Check In'}" />

    <input id="to" type="date" value="Check Out" onFocus="if (value == 'Check Out') {value=''}" onBlur="if (value== '') {value='Check Out'}" />

    <input name="submit" type="submit" value="Search" />
</form>

PHP:     

if(!isset($_POST['search'])) {
header("Location:index.php");
}

$search_sql="SELECT * FROM world_wise WHERE stat_province LIKE '%".$_POST['search']."%' or city LIKE '%".$_POST['search']."%'";

$search_query=mysql_query($search_sql);
if (mysql_num_rows($search_query)!=0) {
    $search_rs=mysql_fetch_assocc($search_query);
}

?>

结果:

<h2>Search Result</h2>
<?php if (mysql_num_rows($search_query)!=0) {
do { ?>

<p><?php echo $search_rs['name']; ?></p>

<?php   } while ($search_rs=mysql_fetch_assocc($search_query));

} else {
echo "No Results Found";

}
?>

3 个答案:

答案 0 :(得分:3)

简单;将mysql_fetch_assocc的实例更改为mysql_fetch_assoc(拼写错误)
在函数名称的末尾有2x c而不是1。

在生产模式下,在文件顶部使用错误报告。

error_reporting(E_ALL); ini_set('display_errors', 1);


<强>脚注:

您目前的代码向SQL injection开放。使用prepared statementsPDO

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqliPDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。

这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/

可以在»http://dev.mysql.com/doc/找到MySQL的文档。

答案 1 :(得分:0)

我认为这是一个简单的拼写错误:mysql_fetch_assoc(),而不是mysql_fetch_assocc()

答案 2 :(得分:0)

正如您所看到的,您正在使用错误的mysql函数mysql_fetch_assocc,其mysql_fetch_assoc

if(!isset($_POST['search'])) {
header("Location:index.php");
}   
$search_sql="SELECT * FROM world_wise WHERE stat_province LIKE '%".$_POST['search']."%' or city LIKE '%".$_POST['search']."%'";
$search_query=mysql_query($search_sql);
if (mysql_num_rows($search_query)!=0) {
$search_rs=mysql_fetch_assoc($search_query);
}
?>

如果您不确定所使用的功能,请尝试启用调试模式,简而言之,使error_reporting始终显示错误