2013-02-04 42 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