2013-08-29 42 views
-2

当我跑到dbh-> prepare时,它挂起。我能做什么?PHP dbh准备语句挂起

$conn=mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); 

$dbname = 'abc-4-sms'; 
mysql_select_db($dbname); 


$stmt = $dbh->prepare("CALL payment(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); 
+0

你可以从你的MySQL控制台调用过程吗?那不是'准备'需要一些参数? – halfer

+1

你不能用'mysql_ *'做准备语句。你在哪里得到'$ dbh'? –

+0

你是从不同的代码混合使用mysql和mysqli/PDO吗? 检查有关mysqli_的文档,并停止usqing mysql_ – Sugar

回答

0
$db = new PDO('mysql:host=localhost;dbname=testdb' 'username', 'password'); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$stmt = $db->prepare("CALL payment(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); 
$stmt->bindValue(1, $something, PDO::PARAM_INT); etc 

只是搜索PDO教程,或者更好的阅读文档。