Как передать строку на другую страницу с помощью PHP на событие клика - PullRequest
0 голосов
/ 01 февраля 2012

Хорошо, я весь день осматривался и пробовал много разных вещей, поэтому мне было интересно, если вы, ребята, могли бы помочь мне.

Вот что я получил:

Я создаю веб-страницу, которая использует базу данных для обновления контента. контент обновляется в зависимости от того, по какой ссылке нажимает пользователь. сейчас я использую сеанс для передачи переменной на другую страницу, чтобы затем использовать эту переменную для извлечения части информации из базы данных.

это ссылка, по которой пользователь нажимает на странице №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 ]

2 голосов
/ 01 февраля 2012

За ключевым словом FROM в запросе MySQL должно следовать либо имя таблицы без одинарных кавычек, либо оно должно быть внутри `.

0 голосов
/ 01 февраля 2012

Ваш запрос SELECT Logo FROM 'audi'. Это делает 'audi' именем таблицы, и я думаю, что это неправильный синтаксис, заключающий имя таблицы в кавычки. Но, возможно, вы хотели сделать запрос что-то вроде SELECT Logo FROM brands where brand_name = 'audi'?

0 голосов
/ 01 февраля 2012
$logo = mysql_query("SELECT Logo FROM '".$_GET['brands']."'");

Это не так, как mysql_query() работает.Он возвращает идентификатор результата, который вам затем нужно передать в что-то вроде mysql_fetch_assoc(), чтобы получить строку фактического результата.

Ваш запрос также неверен, учитывая, что вы не указали таблицу или фактическое условие дляфильтр включен, поэтому он пытается выбрать все строки из таблицы с именем независимо от того, что находится в переменной $_GET['brands'].

0 голосов
/ 01 февраля 2012

Попробуйте использовать обратные кавычки вместо одинарных кавычек `вместо 'в вашем запросе для таблицы, которую вы ищете.Кроме того, НИКОГДА НЕ ИСПОЛЬЗУЙТЕ НЕСАНТИЗИРОВАННЫЕ ВХОДЫ !!!!!!!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...