SQL echo表行错误?

时间:2017-01-19 21:03:56

标签: php mysql sql

我是非常新的SQL,我有一个名为“accounts”的表。我想回复HTML表格上的所有帐户信息,我试过这个但它不起作用? (php代码周围有适当的标签)

<?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>';
}

?>

2 个答案:

答案 0 :(得分:2)

我认为问题非常明显;您未连接到数据库,或者您的系统不允许使用mysql_ API。

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

在我自己的机器上使用mysqli_ API产生结果:

使用您自己的凭据替换以下内容:

<?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检查查询错误。

参考文献:

注意:即使没有<table></table>标记,在成功查询时仍会产生结果。

  • 另外,这需要使用安装了php / mysql的网络服务器执行文件,并将其用作http://localhost而不是file:///,如果是这种情况。

其他参考:

答案 1 :(得分:0)

很少有东西,首先,您需要使用sql实例名称,uid和passwd字符串连接到数据库, 其次 您的查询应为mysqli_query($connection, $query)

$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 explorer)完成的。

结果仍然是数组格式,因此您需要调用特定的字段名称。 在这种情况下。

echo '<td>' . $field['id'] . '</td>'; 

应该有用,(这是我使用的格式)

while ($row = mysqli_fetch_array($query)) {
    foreach ($row as $field) {
        echo '<td>' .$field['id']. '</td>';
    }
}