2013-03-05 2 views
0

Я запускаю локальный сервер Apache и сервер mysql. Мой местный сайт отлично работает.запрос mysql, нуждающийся в котировках вокруг переменных

Когда я загрузил свой сайт на ipage (хост), и я импортировал базу данных на свой сервер mysql, мне удалось подключиться к базе данных, но запросы возвращают значение null.

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

Теперь я сделал несколько тестов:

это мой PHP код:

$type = mysqli_real_escape_string($connection, $_GET['type']);      

$sq1 = "SELECT 
     course_id, 
     FROM 
      courses 
     WHERE 
     training_field LIKE '$type'" 

Это работает локально, а не на удаленном сервере. Теперь, когда я жестко кодирую $ type. т.е.

$sq1 = "SELECT 
     course_id, 
     FROM 
      courses 
     WHERE 
     training_field LIKE 'ENIGNEEING'" 

Это работает везде ?!

Любая идея

+1

Пожалуйста, прекратите писать новый код с древней mysql_ * функций. Они больше не поддерживаются, и сообщество начало процесс [устаревания] (http://news.php.net/php.internals/53799). Вместо этого вы должны узнать о подготовленных операторах и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/mysqli). Если вы хотите узнать, [здесь довольно хороший учебник по PDO] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). – Arjan

+0

да, я прав, я просто портировал mysql_real_escape_string на mysqli_real_escape_string и все остальные запросы в MySQLi. все еще такой же вопрос – Kam

+0

@Kam - Почему бы не написать новый код (добавьте его пожалуйста) на вопрос. –

ответ

0

попробовать этот

$sq1 = "SELECT 
    course_id, 
    FROM 
     courses 
    WHERE 
    training_field LIKE '".$type."'" 

PHP конкатенацию :)

+0

вы можете найти разницу, используя echo $ sq1; –

1
$type = mysql_real_escape_string($_REQUEST['type']);       

$sq1 = "SELECT course_id FROM courses WHERE training_field LIKE '$type'" 

Попробуйте

+2

В чем разница? – Kam

+0

'$ _GET' vs' $ _REQUEST' – Arjan

Смежные вопросы