【问题标题】:Having issues with a MySQL Query [duplicate]MySQL查询有问题[重复]
【发布时间】:2016-04-15 06:15:07
【问题描述】:

以下代码用于从名为 people's names 的 MySQL 表中检索一些简单数据。

<?php
$user = "root"; //Connection to DB  
$pass = "";
$db = "testdb";
$link = new mysqli('localhost' , $user , $pass, $db) or die("unable to connect");

$query = "select * from  people's names";
if ($result = mysqli_query($link, $query)){

    echo "It Worked!";

} else {

    echo "it failed!";  

}
?>

我一遍又一遍地检查代码并搜索互联网的每个角落以找到答案,但似乎无法阻止不可避免的“它失败了!” 加载页面时的消息。任何帮助将不胜感激。谢谢-迪伦。

【问题讨论】:

  • 表名需要使用反引号SELECT * FROM `people's names`
  • echo "it failed!"; 永远不会帮助您调试代码。使用错误报告。 php.net/manual/en/mysqli.error.php
  • 感谢特里斯蒂安的帮助。现在可以了。

标签: php mysql mysqli


【解决方案1】:

在 Mysql 中,' 是一个特殊字符,您需要在查询中对其进行转义。我会避免在表名中出现这种情况,或者用反引号将其转义。

一个关于mysql命名约定的好问题Is there a naming convention for MySQL?

MySql Reference

【讨论】:

    【解决方案2】:

    people's names 不是有效的表名。假设您的连接参数正确,这可能是您的问题。

    【讨论】:

      【解决方案3】:

      将他们的答案添加到 wogsland 和 Pox。

      我想说名字已经是复数了,所以你不需要复数人。所以一个好的表名可以是

      people_names
      

      取决于您也可以使用的其他约定

      peopleNames
      

      【讨论】:

        猜你喜欢
        • 2013-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        • 1970-01-01
        • 2013-12-27
        相关资源
        最近更新 更多