我以前的问题是使用折旧的mysql_ *。我现在正在学习将mysql_ *转换为PDO,但在尝试运行文件时出现错误。错误是:在PDO中获取错误
<br /> <b>Catchable fatal error</b>: Object of class PDOStatement could not be converted to string in <b>C:\xampp\htdocs\username_check.php</b> on line <b>13</b><br />
现在我的PHP是这样的:
<?php
require_once 'db_connect.php';
$conn = dbConnect();
if (isset($_POST['username']))
{
$username = $conn->prepare($_POST['username']);
if (!empty($username))
{
$username_query = $conn->query("SELECT COUNT(id)
FROM users
WHERE username = '$username'");
//where am getting the error line 13 is above//
$username_query->execute();
$num_rows = $username_query->fetchColumn();
if($num_rows==0)
{
echo "Username doesn't exist";
exit;
}
else
{
echo "Username already exists";
exit;
}
}
}
?>
我的连接PHP是这样的:
<?php
function dbConnect(){
$db = null;
$db_host = "localhost";
$db_username ="user";
$db_pass ="pass";
$db_name = "logins";
try{
$db = new PDO('mysql:host='.$db_host.';dbname'.$db_name,$db_username,$db_pass);
}
catch (PDOException $e) {
echo '<p>Cannot connect to database !!</p>';
exit;
}
return $db;
}
?>
我也是要告诉我的jQuery只是柜面的错误是在那里:
jQuery('#box1').keyup(function(){
var username = jQuery(this).val();
jQuery('#msg_out1').html('<img src="/click/ajax-loader.gif" width="43" height="11" /> Checking availability... ');
if (username != '') {
jQuery.post('/click/username_check.php', { username: username }, function(data){
jQuery('#msg_out1').text(data);
});
}else {
jQuery('#msg_out1').html('Choose a Username.').css('color','grey').css('font-size','15px').css('margin-left','40px');
}
});
其中一个不会简单地执行'$ conn-> prepare($ _ POST ['username']);' – samayo
为什么不搜索错误消息?你为什么不先从任何教程学习PDO,而只是把随机的PDO操作符放在一起呢? –
我搜索的错误消息在这里显示的问题与我的问题没有关系,我用谷歌。我会这样做,谢谢你的积极反馈 – user3052886