我正在運行本地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'"
這個地方而不是工作的遠程服務器上。現在,當我硬編碼$類型。即
$sq1 = "SELECT
course_id,
FROM
courses
WHERE
training_field LIKE 'ENIGNEEING'"
這種方法無處不在?
任何想法
請停止與古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 2013-03-05 06:48:12
是的我你是正確的我只是將mysql_real_escape_string移植到mysqli_real_escape_string和所有其他查詢到MySQLi。仍然是同一個問題 – Kam 2013-03-05 06:59:16
@Kam - 爲什麼不把新代碼(請附上它)發佈到問題上。 – 2013-03-05 07:02:14