【问题标题】:sql query not executing on local hostsql查询不在本地主机上执行
【发布时间】:2017-09-06 04:43:50
【问题描述】:

下面是文件“Column_details.php”中包含的一段代码。目标是在用户单击表名时显示表的所有属性。表名在 $id 中检索。问题是此查询在 phpmyadmin 上成功运行。但是在localhost上执行Column_details.php时不会运行。

$id = $_GET['id'];
echo $id;
$result = mysqli_query($conn,  "show fields from '$id'");
$row = mysqli_num_rows($result);
if($row<=0){
    echo " No such columns";
}
else{
    echo "<table border='1'>";
          while($row=mysqli_fetch_array($result)){

                $col_name = $row['Field'];

                $click = "<a href='Column_details.php?mv= ".$col_name."'>" . "</a>";
                echo "<tr>";
                echo "<td>" . $col_name . "</td>";

                echo "<td>" . $click . "</td>";

          }
    echo "</table>";
}
$conn->close();
?>

</body>
</html>

【问题讨论】:

  • 你能发布你的连接字符串吗
  • @maSTARrHiAn 连接字符串是 $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); }
  • 并回应 $conn 你得到了吗?
  • 还有。你的&lt;a&gt; 标签没有内容有关系吗?并且您的 &lt;table&gt; 缺少结束 &lt;/tr&gt; 标记?
  • @maSTARrHiAn 我得到 (!) 可捕获的致命错误:无法将类 mysqli 的对象转换为第 18 行 C:\wamp64\www\Homework3\Column_details.php 中的字符串。

标签: php mysql sql phpmyadmin


【解决方案1】:

在您整理好连接后,您可能想要修复您的表格

echo "<table border='1'>";
      while($row=mysqli_fetch_array($result)){

            $col_name = $row['Field'];

            $click = "<a href='Column_details.php?mv= ".$col_name."'>" .$col_name. "</a>";
            echo "<tr>";
            echo "<td>" . $col_name . "</td>";

            echo "<td>" . $click . "</td>";

      }
echo "</table>";

【讨论】:

  • 感谢您修表。我已经修复了连接。但我仍然收到错误:警告:mysqli_num_rows() 期望参数 1 为 mysqli_result, boolean 。
  • 你能做一个基本的选择而不是使用显示字段
  • 我使用了以下查询:SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$id' AND TABLE_SCHEMA = '$dbname'。但它返回 0 行。所以会显示“没有这样的列”消息。
  • 建议做一个简单的。比如“选择 1 [测试]”
猜你喜欢
  • 2019-02-12
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 2016-05-20
相关资源
最近更新 更多