好的,所以我整天环顾四周,尝试了很多不同的事情,所以我想知道你们是否可以帮助我。
这是我得到的:
我正在构建一个使用数据库来更新内容的网页。内容根据用户点击的链接进行更新。现在,我正在使用会话将变量传递给另一个页面,然后使用该变量从数据库中提取一条信息。
这是用户点击第1页的链接:
session_start();
<a href="Makes/Audi/Audi.php?brands=audi" name="audi">
然后在第二页:
session_start();
if(isset($_GET['brands'])){
$_SESSION['brands'] = $_GET['brands'];
}
// connect to database
mysql_connect ("localhost", "user", "pass") or die ('Error: ' . mysql_error());
//select the DataBase
mysql_select_db ("Vehicle_Makes");
//select make's logo and attach it to a variable
$logo = mysql_query("SELECT Logo FROM '".$_GET['brands']."'");
?>
然后我使用以下方法将路径拉到图像:
<div id="apDiv14"><?php echo $logo;?></div>
但是图片的链接没有显示,所以我在查询结尾添加了这个:
$logo = mysql_query("SELECT Logo FROM '".$_GET['brands']."'") or die ('Error: ' . mysql_error());
当我点击链接时,这是显示在空白页面上的内容:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''audi'' at line 1
请先帮助我,谢谢。
答案 0 :(得分:2)
MySQL查询中的FROM关键字后面必须是没有单引号的表名,或者必须在`。
之内。答案 1 :(得分:0)
尝试在您正在搜索的表的查询中使用反引号而不是单引号`而不是'。此外,不要使用不受欢迎的输入!!!!!!!!
答案 2 :(得分:0)
您的查询是SELECT Logo FROM 'audi'
。这使得'audi'成为表的名称,我认为将表名括在引号中是无效的语法。但也许你打算让查询类似SELECT Logo FROM brands where brand_name = 'audi'
?
答案 3 :(得分:0)
$logo = mysql_query("SELECT Logo FROM '".$_GET['brands']."'");
这不是mysql_query()
的工作方式。它返回一个结果ID,然后您需要将其传递给mysql_fetch_assoc()
以获取实际结果行。
您的查询也是错误的,因为您没有指定表格,也没有要过滤的实际条件,因此它正在尝试从名为$_GET['brands']
变量中的任何内容的表中选择所有行。