sql查询不在本地主机上执行
Posted
技术标签:
【中文标题】sql查询不在本地主机上执行【英文标题】:sql query not executing on local host 【发布时间】: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 你得到了吗? 还有。你的<a>
标签没有内容有关系吗?并且您的 <table>
缺少结束 </tr>
标记?
@maSTARrHiAn 我得到 (!) 可捕获的致命错误:无法将类 mysqli 的对象转换为第 18 行 C:\wamp64\www\Homework3\Column_details.php 中的字符串。
【参考方案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 [测试]”以上是关于sql查询不在本地主机上执行的主要内容,如果未能解决你的问题,请参考以下文章
尽量不在 SQL 查询中硬编码日期范围(Python、SQL 服务器)