PHP中MySQL查询的问题

时间:2010-10-17 21:54:52

标签: php mysql

我有以下在MySql中完美运行的查询:

  1. SELECT * FROM rapoarte WHERE nrtel LIKE '0256%' OR nrtel LIKE '0356%

  2. SELECT * FROM rapoarte WHERE nrtel NOT LIKE '07%' AND nrtel NOT LIKE '0256%' AND nrtel NOT LIKE '0356%'

  3. SELECT * FROM rapoarte WHERE nrtel LIKE '07%'

  4. 在PHP中,它们将产生以下结果:

    1. 结果只是为了'0256%'

    2. 无结果

    3. 结果不完整。我的电话号码以076,075开头,它只显示以076开头的数字。

    4. 任何人都知道为什么?

      感谢, 塞巴斯蒂安

      修改

      这是代码:

      $select_int= mysql_query("SELECT * FROM rapoarte WHERE nrtel LIKE '0256%' OR nrtel LIKE '0356%'");
      $local = mysql_fetch_array($select_int);
      echo "<table align='center' border='0' width='600'><tr><td><b>Ziua</b></td><td><b>Ora</b></td><td><b>Trunchi</b></td><td><b>interior</b></td><td><b>Durata</b></td><td><b>Numar Format</b></td></tr>";
      while($int = mysql_fetch_array($select_int)) {
          echo "<tr>
          <td>".$local['ziua']."</td> 
          <td>".$local['ora']."</td>
          <td>".$local['linie']."</td>
          <td>".$local['interior']."</td>
          <td>".$local['durata2']."</td>
          <td>".$local['nrtel']."</td></tr>";
      }
      echo "</table>";
      

3 个答案:

答案 0 :(得分:2)

你似乎在丢弃第二行的第一个结果

$int = mysql_fetch_array($select_int);

...更不用说您编辑的代码段中的查询实际上并不匹配您声称正常工作的三个中的任何一个。

<击> 你没有迭代结果,相反,你只是得到第一个。

while(($local = mysql_fetch_array($select_int)) != null){
    // $local contains 1 result row
}

<击>

答案 1 :(得分:2)

...再次

这里$local = mysql_fetch_array($select_int);你放弃了你的第一行。你拿它并且不使用它。

第二个问题是$int = mysql_fetch_array($select_int)。您实际上需要$local = mysql_fetch_array($select_int),因为这是您在while块中使用的内容。

答案 2 :(得分:0)

您在PHP脚本中使用的查询不使用“LIKE”