PHP变量不打印到HTML网页

时间:2015-04-28 02:39:36

标签: php html

我们的某个网页的HTML中包含以下代码。我们尝试使用下面的PHP代码中显示的MySQL调用和while循环显示数据库中的所有Wifi速度和GPS位置。但是,它不会向页面返回任何内容。我们将echo语句放在PHP的各个部分(例如,在while循环之前,在数据库之前),它甚至不会将这些语句打印到网页上。

<body>
<h2>WiFi Speeds in the System</h2>
<p>Speeds Recorded in the System</p>
<?php
  $username = "root";
  $password = "";
  $hostname = "localhost";
  $dbc = mysql_connect($hostname, $username, $password)
    or die('Connection Error: ' . mysql_error());
  mysql_select_db('createinsertdb', $dbc) or die('DB Selection Error' .mysql_error());
  $data = "(SELECT Wifi_speed AND GPS_location FROM Instance)";
  $results = mysql_query($data, $dbc);
  while ($row = mysql_fetch_array($results)) {
      echo $row['Wifi_speed'];
      echo $row['GPS_location'];
  }
?>
</body>

2 个答案:

答案 0 :(得分:6)

这一行不正确,是AND

$data = "(SELECT Wifi_speed AND GPS_location FROM Instance)";
                            ^^^

将其更改为并使用逗号作为列选择器:

$data = "(SELECT Wifi_speed, GPS_location FROM Instance)";

但是,您应该从查询中删除括号:

$data = "SELECT Wifi_speed, GPS_location FROM Instance";

使用:

$results = mysql_query($data, $dbc) or die(mysql_error());

会发出语法错误信号。但是,您应该在测试期间使用它来查看查询中是否存在错误。

旁注:

  • AND用于WHERE中的SELECT条款。

I.e。:

SELECT col FROM table WHERE col_x = 'something' AND col_y = 'something_else'

UPDATE,即:

UPDATE table SET col_x='$var1' 
WHERE col_y='$var2' 
AND col_z='$var3'

<强>脚注:

考虑转移到mysqli with prepared statementsPDO with prepared statements,因为mysql_函数已弃用,将从以后的PHP版本中删除。

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告应仅在暂存时完成,而不是生产。

  

&#34;感谢您的建议,但我们尝试过,并没有改变任何事情。 - sichen&#34;

  • 您可能会发现您可能无法使用这些功能。如果是这种情况,则需要切换到mysqli_或PDO。

参考文献:

答案 1 :(得分:0)

您好,我发现您的数据库连接存在问题。查询

这是示例检查

SELECT中的

不正确,是AND。使用逗号作为列选择器:

并为查询后设置条件&amp;检查数据验证是否是正确的方法

<?php 
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "createinsertdb";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);  } 
$sql = "SELECT `Wifi_speed `, `GPS_location `,  FROM `Instance`";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
 echo $row['Wifi_speed'];
 echo $row['GPS_location'];
   }
} else {
echo "0 results";
}
$conn->close();
?>