2013-02-04 86 views
1

我不確定我的代碼發生了什麼,我的項目在XAMPP服務器下運行得很順利,我能夠連接mysql和php,但是當我將它移動到另一個系統,它有mysql社區服務器,他們的代碼不工作,我的意思是數據庫正在連接,但無法從數據庫中獲取數據。無法連接到xampp以外的數據庫mysql

示例代碼如下:

$host='localhost'; // Host name 
$username='root'; // Mysql username 
$password=''; // Mysql password 
$db_name='test'; // Database name 
[email protected]_connect($host,$username,$password) or die("Cannot Connect to database"); 
@mysql_select_db($db_name,$connect) or die ("Cannot find database"); 

應用代碼:

$sql="SELECT * FROM test.userdet WHERE emailId='$uName' and pwd='$pwd'"; 
$result=mysql_query($sql); 
$count=mysql_num_rows($result); 

根據$算我感到它重定向到其他頁面。

我能夠在其他有XAMPP本身的系統上運行它,但它不能與mysql社區服務器一起運行。

//感謝NullPointer,我從PDO那裏瞭解到,從現在開始,我將繼續使用PDO進行交易。

現在我面臨一個新的問題,我打電話通過AJAX一個php_db腳本,執行所有PDO聲明它不是回到阿賈克斯後,代碼片斷如下:

AJAX調用: -

$.ajax({ 
     type: "POST", 
     url: "common/dbPhpScripts/updateEvent.php", 
     data: 'json=' + det, 
     dataType: 'json', 
     cache: false, 
     success: function() { 
      $('#cal').fullCalendar('refetchEvents'); 
      $('#edit_event').dialog('close'); 
     } 
    }); 
使用PDO後

樣品PHP代碼:

$stringData = $_POST['json']; 
$mynewarray = json_decode($stringData, true); 
$title=$mynewarray['title']; 
$start= $mynewarray['start']; 
$end= $mynewarray['end']; 
$createDate=$mynewarray['createDate']; 
$insertQuery=$db->exec("INSERT INTO calendar (User_Id, StartDateTime, EndDateTime, Event_Title, Create_Date) VALUES ('07','$start','$end','$title','$createDate')"); 

wher我要錯了嗎?

+0

不要取消警告,刪除@ – swapnesh

+1

[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果您選擇PDO, [這裏是一個很好的教程](http://stackoverflow.com/a/14110189/1723893)。 –

+0

@NullPointer Ya用戶名和密碼是一樣的,關於你的教程建議,我會通過它。 – Raghuveer

回答

1

其良好的看到你

success: function (data) { 
    alert("data"); 
} 

還需要在common/dbPhpScripts/updateEvent.php呼應結果得到,如果你重定向你不會得到導致阿賈克斯不能重定向什麼不抑制警告

+1

我接受這個答案的所有上述建議NullPointer,第一個建議,使用PDO方法連接mysql,另一個是爲了迴應它的結果,以回到jquery ajax調用。 – Raghuveer

0

它挑釁地應該是你的憑據。確保您的用戶名和密碼正確,以及數據庫名稱和主機。不同的服務器有不同的憑證

EG:

WAMP

$username='root'; // Mysql username 
$password=''; // Mysql password 

MAMP

$username='root'; // Mysql username 
$password='root'; // Mysql password 

鑑於刪除@跡象。使用@SuppressWarnings

+0

我不知道主機先生,我檢查了用戶名和密碼,並且因此我修改它,仍然沒有結果, – Raghuveer

+1

@拉胡韋爾爲什麼不'死(mysql_error())'? –

+0

@Raghuveer主機在連接數據庫時很重要。如果可能,請檢查錯誤日誌 – Techie