[英]trying to view a table from a database, but apparently i have the incorrect syntax, despite it matching the query on PHPmyAdmin
to clarify my database is called database and my table is called table (this was for testing). 澄清我的数据库被称为数据库,我的表被称为表(这是用于测试)。
class Database
{
public $server = "localhost";
public $database = "database";
public $user = "root";
public $password = "";
public $row;
public $result;
//call connection method upon constructing
public function __construct(){
$this->createConnection();
}
//connection to the database
public function createConnection()
{
$this->dbLocalhost = mysql_connect($this->server, $this->user, $this->password)
or die("could not connect:".mysql_error());
mysql_select_db($this->database)
or die("Could not find the database: ".mysql_error());
}
//execute query string
public function query($queryString)
{
echo "<table border='1' cellpadding='10'>";
echo "<tr> <th>ID</th> <th>First Name</th> <th>Last Name</th> <th></th> <th></th></tr>";
$this->result = mysql_query($queryString)
or die($queryString."<br/><br/>".mysql_error());
while($this->row = mysql_fetch_array($this->result)) {
echo "<tr>";
echo '<td>' . $this->row['id'] . '</td>';
echo '<td>' . $this->row['firstname'] . '</td>';
echo '<td>' . $this->row['lastname'] . '</td>';
echo '<td><a href="edit.php?id=' . $this->row['id'] . '">Edit</a></td>';
echo '<td><a href="delete.php?id=' . $this->row['id'] . '">Delete</a></td>';
echo "</tr>";
}
echo "</table>";
}
and then i have php file which calls the functions. 然后我有调用函数的php文件。
<?php
include('database.php');
$db = new Database();
$sql = "SELECT *
FROM table";
$db->query($sql);
?>
This is the error a receive: 这是收到的错误:
SELECT * FROM table SELECT * FROM表
You have an error in your SQL syntax; 您的SQL语法有错误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table' at line 2
检查与MySQL服务器版本对应的手册,以便在第2行的“table”附近使用正确的语法
Thanks. 谢谢。
table
is a reserved word in MySQL, so you must escape it. table
是MySQL中的保留字 ,所以你必须将其转义。 You can do that by putting `
s around it. 您可以通过将做到这一点
`
周围秒。
For example: 例如:
SELECT * FROM `table`
As you can see on my link, there are several tricky reserved words that can cause a lot of headache. 正如你在我的链接上看到的那样,有几个棘手的保留字会引起很多麻烦。 Some say you should always use
`
characters when you write table and field names. 有人说你在写表和字段名时应该总是使用
`
字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.