首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL回显表行错误?

SQL回显表行错误?
EN

Stack Overflow用户
提问于 2017-01-20 05:03:56
回答 2查看 309关注 0票数 0

我对SQL非常陌生,我有一个名为"accounts“的表。我想在一个HTML表上回显所有帐户信息,我已经尝试过了,但它不起作用?( php代码周围有适当的标签)

代码语言:javascript
运行
复制
<?php
$query="SELECT * FROM acccounts";
$results = mysql_query($query);
while ($row = mysql_fetch_array($results)) {
    echo '<tr>';
    foreach($row as $field) {
        echo '<td>' . htmlspecialchars($field) . '</td>';
    }
    echo '</tr>';
}

?>
EN

回答 2

Stack Overflow用户

发布于 2017-01-20 05:34:12

我认为问题非常明显;您要么没有连接到数据库,要么您的系统不允许使用mysql_应用编程接口。

或者,您尝试使用mysqli_或其他接口(未知)进行连接。如果是这样的话,这些不同的MySQL API不会混合在一起。

在我自己的机器上使用mysqli_应用程序接口产生了以下结果:

将以下内容替换为您自己的凭据:

代码语言:javascript
运行
复制
<?php
ini_set("display_startup_errors", 1); 
ini_set("display_errors", 1);

$connect = mysqli_connect("your_host", "user", "pass", "db");
if (!$connect) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$query="SELECT * FROM acccounts";
$results = mysqli_query($connect, $query);

if($results){
while ($row = mysqli_fetch_array($results)) {
    echo '<tr>';
    foreach($row as $field) {
        echo '<td>' . htmlspecialchars($field) . '</td>';
    }
    echo '</tr>';
    }
}
else{
    echo "Your query failed: " . mysqli_error($connect);

    }

通过PHP检查查询中的错误。

参考文献:

  • http://php.net/manual/en/mysqli.error.php
  • http://php.net/manual/en/function.error-reporting.php

注意:即使没有<table></table>标签,它仍然会在成功的查询中产生结果。

  • Plus,这需要使用安装了php/mysql并用作http://localhost的used服务器执行文件,而不是file:///,如果是这样的话。

其他参考资料:

  • http://php.net/manual/en/function.mysqli-connect.php
票数 1
EN

Stack Overflow用户

发布于 2017-01-20 05:08:47

首先,您需要使用sql实例名称、uid和密码字符串连接到数据库,其次,您的查询应该是mysqli_query($connection, $query)

代码语言:javascript
运行
复制
$servername = 'yourinstance\sqlexpress';
$conndetails = ["Database" => "databasename", "UID" => 'loginid', "PWD" =>'passwd'];
$sqlconn = mysqli_connect($servername, $conndetails);
$query = "Select blah blah";
$query2 = mysqli_query($sqlconn, $query);

仔细检查语法,因为我经常把它弄错,但如果没有这个设置,你就不能连接到数据库,PHP必须先认证/登录,然后才能进行查询(否则任何人都可以查询你的数据库)

除此之外,您还需要确保sql正在侦听正确的端口(通常为1433)这是通过sql管理器(而不是sql浏览器)完成的。

结果仍然是数组格式,所以需要调用具体的字段名。在这种情况下。

代码语言:javascript
运行
复制
echo '<td>' . $field['id'] . '</td>'; 

应该可以工作(这是我使用的格式)

代码语言:javascript
运行
复制
while ($row = mysqli_fetch_array($query)) {
    foreach ($row as $field) {
        echo '<td>' .$field['id']. '</td>';
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41751683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档