dourong4031 2013-09-05 12:29
浏览 44

第二个MySQL查询不起作用

I have a webpage which sends a query to my MySQL database to retrieve information about my company's suppliers and echos the results (all fine so far). It then makes a second query to check if there are any known contacts associated with that supplier:

while ($row = mysqli_fetch_array($result)) {
    $contact = $row["contact"];
    echo $row["name"] . "<br>" . $row["category"] . "<br>" . "Telephone: " .
        $row["telephone"] . "<br>" . "Fax: " . $row["fax"] . "<br>" .
        $row["email"] . "<br>" . $row["address"] . "<br>" .
        $row["postcode"] . "<br><br>" . "Contact: " .
        $contact . "<br>";
    $resultContact = mysqli_query($con,"SELECT * FROM contacts WHERE name =
        '$contact'");
    while($rowContact = mysqli_fetch_array($resultContact)) {
        echo $rowContact["telephone"] . "<br>" . $rowContact["email"];
        echo "<br>";
    }
}

($row is from the first query and works.) However, echo $rowContact["telephone"] . "<br>" . $rowContact["email"]; just prints whitespace.

Thanks

EDIT: if I use a string literal in the Where clause, it works as it should. However, I used variables in exactly the same way as I am now in the first query and that works! I am confused :(

EDIT 2: the first query: $result = mysqli_query($con,"SELECT * FROM suppliers WHERE LOWER(name) = LOWER('$searchText')");

EDIT 3: the result of doing var_dump($resultContact);: object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(4) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) } I'm guessing this means that the query is coming back with the table ok, but the Where clause isn't comparing the contact name as I want it to...

  • 写回答

1条回答 默认 最新

  • dragonhong641016 2013-09-05 12:59
    关注

    Your query must be mysql_query, not mysqli_query. This is the correct code:

    //Your db connection
    mysql_connect('localhost','root','');
    mysql_select_db('database');
    
    //queries and data
    $result = mysql_query("SELECT * FROM suppliers WHERE LOWER(name) = LOWER('$searchText')");
    while ($row = mysql_fetch_array($result)) {
        $contact = $row["contact"];
        echo $row["name"] . "<br>" . $row["category"] . "<br>" . "Telephone: " .
            $row["telephone"] . "<br>" . "Fax: " . $row["fax"] . "<br>" .
            $row["email"] . "<br>" . $row["address"] . "<br>" .
            $row["postcode"] . "<br><br>" . "Contact: " .
            $contact . "<br>";
        $resultContact = mysql_query("SELECT * FROM contacts WHERE name =
            '$contact'");
        while($rowContact = mysql_fetch_array($resultContact)) {
            echo $rowContact["telephone"] . "<br>" . $rowContact["email"];
            echo "<br>";
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP