[英]mysql_connect error
在下面的代碼中,我看到了echo1
語句,此后我看不到UI上打印的任何內容。用戶名和密碼正確。 但是PHP似乎沒有連接到MySQL。 甚至看不到死者聲明我在做什么錯。 遇到mysql_connect
之后,其余代碼將不起作用:
<?php
echo "echo1==========";
$con = mysql_connect("localhost","root", "xxxx123") or die("Error connecting to database");
echo "+++++++++ echo2";
echo $con;
mysql_close($con);
?>
您應該誤會一個錯誤。 添加:
ini_set('display_errors', 1);
error_reporting(E_ALL);
在您的腳本開始時
如果像這樣使用代碼,則很容易受到SQL注入的攻擊。 我強烈建議您在將數據插入數據庫時使用mysql_real_escape_string來防止SQL注入 ,這是一種快速解決方案,或者更好地使用PDO或MySQLi 。
如果要使用mysql_*
則建議閱讀有關mysql_*
函數的PHP手冊,其中指出,不建議使用此擴展名編寫新代碼。 他們說,相反,您應該使用MySQLi或PDO_MySQL擴展。
我還檢查了mysql_connect
,發現了一個怪異的規律性-如果在mysql_connect
參數上使用"
,那么它將無法連接,在我的情況下,當我對其進行測試時,它只是按照上述方式發生,因此,請嘗試以下方法:
$con = mysql_connect('localhost','username','password');
如PHP手冊示例中所示,將"
替換為'
,它可能會起作用!
已編輯
對於那些不贊成投票的人-首先嘗試 ! 我在服務器上使用"
對其進行了測試,它給了我一個錯誤: Warning: mysql_connect(): Access denied for user
。我使用PHP 5.4.6版!
使用SSH登錄到服務器並運行php --modules
如果列表中沒有mysql
,則這是致命錯誤的原因。
沒有輸出表示致命錯誤。 唯一可能發生的致命錯誤是“未定義的函數mysql_connect
(除非某處確實被弄亂了)。這意味着未安裝mysql
庫,或者可能未在php.ini
文件中啟用它。
檢查所述文件,然后在打開時打開error_reporting
。
問題是沒有安裝ph5-mysql驅動程序。安裝並使其運行..現在mysql_connect()函數可以運行了。.感謝所有幫助
對於Tomcat 7,php.ini的默認目錄實際上是C:\\ windows。 修改后的(啟用模塊,擴展等)應該將php.ini復制到C:\\ windows。 然后運行phpinfo();。 即使在附帶PHP 5.x的Tomcat 7上,它也可以正常工作。 當我想要mysql語句工作時,我遇到了這個問題,並且掙扎了很多。
即使按照[779246]中的答案進行了所有說明( 使用tomcat運行php應用程序? ),mysql語句也不起作用(Tomcat 7,PHP 5.2.16,PECL 5.2.5,Windows 7上的MySql 5.6)。 所以我開始研究“ phpinfo();”。 仔細輸出並使用前面段落中提到的解決方案。 如果您想使用PDO(這是PHP中普通mysql_ *方法的未來),請確保在php.ini中啟用mysql dll擴展以及PDO擴展。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.