我已經使用了其他線程提出的一些解決方案,但它只是不想工作。我的MYSQL版本是:5.5.38,這裏是我使用的代碼(目標是簡單地連接到數據庫)。該代碼的推移,這就是爲什麼「{」不從,如果子句關閉,但應該連接到數據庫的重要組成部分,如下表所示:簡單地嘗試連接數據庫時,SQL語法錯誤(初學者)
$user = mysql_real_escape_string($_POST['user']);
$password = ($_POST['password']);
if ($_POST['user'] <> "" AND $_POST['password'] <> "")
{
mysql_connect('localhost', 'xxx', 'xxx');
mysql_select_db('xxx');
$sql = "SELECT * AS user FROM xxx WHERE nutzer LIKE '$nutzer' AND pw LIKE '$password'" ;
$result = mysql_query($sql);
if (false === $result) {
die (mysql_error());
}
$datensatz = mysql_fetch_array($result, MYSQL_ASSOC);
這些錯誤在問世之初權當我只需打開網站:
警告:mysql_real_escape_string():拒絕訪問用戶 '' @ 'localhost' 的(使用密碼:NO)在/var/www/web1159/html/lehrer.php第15行
警告:mysql_real_escape_string():無法在/var/www/web1159/html/lehrer.php上建立到服務器的鏈接lin e 15
而這是我在嘗試登錄並連接到數據庫時偶然發現的錯誤。我知道它說什麼,但它對我沒有多大意義 - 是「或」錯誤放置?我嘗試了其他變化 - 仍然不起作用。爲什麼行1 ??:
您有在您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊「AS用戶從lehrerzugang WHERE nutzer LIKE'和PW LIKE‘LFB’」在1號線
錯誤說明了一切:**拒絕訪問用戶「」 @「localhost」的* *。您是否嘗試從命令行連接到數據庫?看起來你的數據庫要麼不可用,要麼你的憑據不好。 Y我們的SQL也是錯誤的。據我所知MySQL不知道'AS'關鍵字。嘗試以下'SELECT columnname user FROM xxx WHERE nutzer LIKE'$ nutzer'AND pw LIKE'$ password''其中columnname必須替換爲您的實際列名稱 – sengbatz
首先,不推薦使用'mysql' php驅動程序;你應該使用'mysqli'或'PDO_mysql'。其次,在建立數據庫連接之後,不能調用mysql_real_escape_string()。 –
是否可以使用mysqli取決於您安裝的是哪個版本的php,但它應該在5.3之後的任何php中默認可用。 –