我正在尝试从头开始自学Apache,php,javascript和mysql(哦,和phpmyadmin)。我遇到了让php显示查询结果的问题。我试过或多或少直接从几个不同的youtube教程中复制代码,但似乎没有任何效果。我不断得到完全空白的网页。没有错误消息,没有警告,它实际上是一个完全空白的网页。
我正在使用Apache 2.2.22,php 5.3.10,mysql版本5.5.35-0ubuntu0.12.04.2,我正在运行Ubuntu 12.04。我将在下面提供代码。我有一个名为infoQuery.php的文件和另一个名为connect.php的文件。他们都在/ var / www。这不是对互联网开放的,在我尝试在托管服务器上更雄心勃勃的项目之前,这只是在本地虚拟机上作为概念证明。
connect.php
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpwd = '****';
$db = 'nameEmail';
$conn = mysql_connect($dbhost, $dbuser, $dbpwd);
mysql_select_db($db);
?>
infoQuery.php
<?php
# I've also tried "include 'connect.php';"
include './connect.php';
$query = "SELECT * FROM nameAndEmail";
$result= "mysql_query($query)";
while($person = mysql_fetch_array(result)){
echo "<h3>" . $person['name'] . "</h3>";
}
?>
答案 0 :(得分:1)
摆脱mysql_query()
周围的引号。它们使它成为一个字符串,因此不会以PHP形式执行。
$result= mysql_query($query);
Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。
答案 1 :(得分:0)
MySQL API已被弃用。请尝试使用 MySQLi API。试试这个:
<强> connect.php 强>
<?php
$conn=mysqli_connect("localhost","root","****","nameEmail");
if(mysqli_connect_errno()){
echo "Error".mysqli_connect_error();
}
?>
<强> infoQuery.php 强>
<?php
include('connect.php');
$query = "SELECT * FROM nameAndEmail";
$result= mysqli_query($conn,$query);
while($person = mysqli_fetch_array(result)){
echo "<h3>" . $person['name'] . "</h3>";
}
?>