php代码没有使用wamp服务器从mysql数据库中获取数据

Posted

技术标签:

【中文标题】php代码没有使用wamp服务器从mysql数据库中获取数据【英文标题】:php code is not fetching data from mysql database using wamp server 【发布时间】:2014-10-15 14:41:41 【问题描述】:

我想在 phpMyAdmin 中显示来自数据库的表,方法是在下拉菜单中的每个不同选项中通过按下搜索按钮显示来自数据库的不同表。但它没有这样做。

<p class="h2">Quick Search</p>
    <div class="sb2_opts">
     <p></p>
<form method="post" action="" >
   <p>Enter your source and destination.</p>
   <p>From:</p>
   <select name="from">
     <option value="Islamabad">Islamabad</option>
     <option value="Lahore">Lahore</option>
     <option value="murree">Murree</option>
     <option value="Muzaffarabad">Muzaffarabad</option>
   </select>
<p>To:</p>
   <select name="To">
     <option value="Islamabad">Islamabad</option>
     <option value="Lahore">Lahore</option>
     <option value="murree">Murree</option>
     <option value="Muzaffarabad">Muzaffarabad</option>
   </select>
   <input type="submit" value="search" /> 
</form>
</form> 
</table>

<?php
$con=mysqli_connect("localhost","root","","test"); 
if (mysqli_connect_errno()) 
 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 


if(isset($_POST['from']) and isset($_POST['To'])) 
    $from = $_POST['from'] ;
    $to = $_POST['To'] ;
    $table = array($from, $to);

    switch ($table) 
        case array ("Islamabad", "Lahore") :
           $result = mysqli_query($con,"SELECT * FROM flights");
           echo "</flights>";      //table name is flights
           break;
        case array ("Islamabad", "Murree") :
           $result = mysqli_query($con,"SELECT * FROM isb to murree");
          echo "</isb to murree>";     //table name isb to murree
          ;
          break;
       case array ("Islamabad", "Muzaffarabad") :
           $result = mysqli_query($con,"SELECT * FROM isb to muzz");
           echo "</isb to muzz>";
           break;
       //.....
       //......
       default:
          echo "Your choice is nor valid !!";
    


mysqli_close($con);
?>

【问题讨论】:

root 用户,空白密码只能在控制台中使用,除非我弄错了。对于 PHP,您将需要具有实际密码的 root 用户以外的用户。 @developerwjk,PHP 可以在 root 和空白密码下正常工作。这是一个小错误。 您在日志中看到任何错误吗? 您确定查询正确吗? SELECT * FROM isb to muzz 你没有错过 where 子句吗? @Alejo_Blue 检查 cmets,它们似乎是表名 :) 【参考方案1】:

您当前遇到的问题似乎是由您的表名引起的。当它们包含空格(或者是保留字、以数字开头等)时,需要用反引号引起来:

SELECT * FROM `isb to murree`

但是,在我继续之前,我可能会好好看看数据库结构(和表名......),因为每个目标组合都有一个不同的表并不能很好地扩展。您的所有组合都可以轻松存储在一个表中(仅使用数字来识别机场),可能还需要一些额外的列来获取更多信息。

【讨论】:

我无法发布图片,但是是的,我有同名的表格。你能告诉我在哪里插入数据库名称吗?我将它与数据库连接的逻辑是正确的?因为它显示相同的页面在浏览器中没有给出任何错误..thanx @jeroen @john 我不确定你的意思,mysqli_connect() 的第四个参数应该是你的数据库的名称。除了缺少反引号外,db-logic 似乎是正确的。 这个回声“to murree>”;从 db 显示表格是否正确??@jeroen

以上是关于php代码没有使用wamp服务器从mysql数据库中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在wamp下运行php的文件

关于wamp的HTML, PHP, mysql 三者的操作与联系 - PHP与mysql

wamp具体指啥?

wamp具体指啥?

在第15行的C: wamp www storeinfo.php中读取结果集的标题时出错,而MySQL服务器已在第15行的C: wamp www storeinfo.php中消失

使用 Select 表单过滤使用 PHP 从 MySQL 查询的表