使用select为什么会遍历整个表呢?

WBOY
リリース: 2016-06-06 20:13:14
オリジナル
996 人が閲覧しました

<code>$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);
if(!$link) {
    die("Connect Server Failed: " . mysql_error());
}
/*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
if(!mysql_select_db($dbname,$link)) {
    die("Select Database Failed: " . mysql_error($link));
}
$sql = "select * from movies where name like '%".$searchterm."%'";//使用的查询语句
    $result = mysql_query($sql, $link);//进行查询操作
    if($result){
        while($arr = mysql_fetch_array($result)){
            //print_r($arr['idd']);
   echo          "<p>this is idd :".$arr['name']."</p>
<p><br>
                  </p>
<p>this is no :".$arr['baidu']."</p>
<p><br>
                  </p>
<p>this is name:".$arr['size']."</p>
<p>";
         }
    }else{
        print_r('wrong');
    }

</p></code>
ログイン後にコピー
ログイン後にコピー

按照我的想法,链接至mysql的movies表中,搜索表中name like 死侍的数据,然后输出他的name,baidu,和size,可是我只想输出死侍一条数据,但是输出结果是这样的
使用select为什么会遍历整个表呢?
我表中一共就这两条数据
使用select为什么会遍历整个表呢?
怎样修改可以做到只输出我想要的死侍的这条数据呢?

补充,按照楼下的方式,我用echo打印出sql语句,其中的$search是这个php中定义的变量,而$searchterm是上一个表单中用post方式提交过来的标量

<code>$search='死侍';
echo"select * from movies where name like '%".$searchterm."%'";
echo"select * from movies where name like '%".$search."%'";</code>
ログイン後にコピー
ログイン後にコピー

使用echo打印出后为
使用select为什么会遍历整个表呢?
明显$searchterm和$search都没有正确的转译出来,新问题,如何正确的转译。
用F12看控制台,$searchterm为
使用select为什么会遍历整个表呢?

再补充:
这是我的表单

<code><form action="http://drlouie.duapp.com/search.php/" method="post" class="form-search">
    <input name="searchterm" type="text" class="input-medium search-query">
    <button type="submit" class="btn">Serach</button>
  </form></code>
ログイン後にコピー
ログイン後にコピー

我最初的想法是
使用select为什么会遍历整个表呢?
输入数据,然后搜索,然后返回数据

回复内容:

<code>$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);
if(!$link) {
    die("Connect Server Failed: " . mysql_error());
}
/*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
if(!mysql_select_db($dbname,$link)) {
    die("Select Database Failed: " . mysql_error($link));
}
$sql = "select * from movies where name like '%".$searchterm."%'";//使用的查询语句
    $result = mysql_query($sql, $link);//进行查询操作
    if($result){
        while($arr = mysql_fetch_array($result)){
            //print_r($arr['idd']);
   echo          "<p>this is idd :".$arr['name']."</p>
<p><br>
                  </p>
<p>this is no :".$arr['baidu']."</p>
<p><br>
                  </p>
<p>this is name:".$arr['size']."</p>
<p>";
         }
    }else{
        print_r('wrong');
    }

</p></code>
ログイン後にコピー
ログイン後にコピー

按照我的想法,链接至mysql的movies表中,搜索表中name like 死侍的数据,然后输出他的name,baidu,和size,可是我只想输出死侍一条数据,但是输出结果是这样的
使用select为什么会遍历整个表呢?
我表中一共就这两条数据
使用select为什么会遍历整个表呢?
怎样修改可以做到只输出我想要的死侍的这条数据呢?

补充,按照楼下的方式,我用echo打印出sql语句,其中的$search是这个php中定义的变量,而$searchterm是上一个表单中用post方式提交过来的标量

<code>$search='死侍';
echo"select * from movies where name like '%".$searchterm."%'";
echo"select * from movies where name like '%".$search."%'";</code>
ログイン後にコピー
ログイン後にコピー

使用echo打印出后为
使用select为什么会遍历整个表呢?
明显$searchterm和$search都没有正确的转译出来,新问题,如何正确的转译。
用F12看控制台,$searchterm为
使用select为什么会遍历整个表呢?

再补充:
这是我的表单

<code><form action="http://drlouie.duapp.com/search.php/" method="post" class="form-search">
    <input name="searchterm" type="text" class="input-medium search-query">
    <button type="submit" class="btn">Serach</button>
  </form></code>
ログイン後にコピー
ログイン後にコピー

我最初的想法是
使用select为什么会遍历整个表呢?
输入数据,然后搜索,然后返回数据

$searchterm 的赋值操作在哪里,是不是没有正确的赋值,为空了

echo 你的sql语句出来,然后到myadmin里面测试下就知道了

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート