如何在单击事件上使用PHP将字符串传递到其他页面

时间:2012-02-01 04:15:15

标签: php session variables hyperlink

好的,所以我整天环顾四周,尝试了很多不同的事情,所以我想知道你们是否可以帮助我。

这是我得到的:

我正在构建一个使用数据库来更新内容的网页。内容根据用户点击的链接进行更新。现在,我正在使用会话将变量传递给另一个页面,然后使用该变量从数据库中提取一条信息。

这是用户点击第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

请先帮助我,谢谢。

4 个答案:

答案 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']变量中的任何内容的表中选择所有行。