簡體   English   中英

mysql_connect錯誤

[英]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注入 ,這是一種快速解決方案,或者更好地使用PDOMySQLi

如果要使用mysql_*則建議閱讀有關mysql_*函數的PHP手冊,其中指出,不建議使用此擴展名編寫新代碼。 他們說,相反,您應該使用MySQLiPDO_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM