php / mysql oop, используя подготовленный обзор заявления - PullRequest
0 голосов
/ 20 февраля 2012

Я пытаюсь реализовать подготовленное утверждение, но по какой-то причине я не могу создать пользователя.Обратите внимание, я уже смог создать пользователя с такими же значениями в старой традиции [mysql_connect and ...] Может ли какой-нибудь орган помочь мне определить, где я делаю свою ошибку?

require_once 'config.php';
class AuthDb {
private $db;
function __construct(){
    $this->db = mysqli(DB_SERVER, DB_USER, DB_PASS, DB_NAME) 
                or die('could not connect');        
}

function __destruct(){

    $this->db->close();
    unset($this->db);
}

public function createUser($name, $email) {

    $query = "INSERT INTO myUsers (name, email) VALUES (?, ?)";
    $stmt = $this->db->prepare($query); 
    $stmt->bind_param("ss", $name, $email);
    if ($stmt->execute()){
        return true;
    }

    return false;

  }

}

$create = new AuthDb();
$name = "bing";
$email = "banbang@yahoo.com"; 
$test = $create->createUser($name, $email);

1 Ответ

0 голосов
/ 20 февраля 2012

Попробуйте выполнить дополнительную обработку ошибок / ведение журнала.

<code>define('DEBUG_LOG', true);
function onError($general, $details) {
    echo '<pre>', htmlentities($general), "
\ n "; if (определено ('DEBUG_LOG') && DEBUG_LOG) {echo '
', htmlentities($details), "
\ n";echo '
'; debug_print_backtrace(); echo "
\ n ";} die;} class AuthDb {[...] открытая функция createUser ($ name, $ email) {$ query =" INSERT INTO myUsers (name, email) VALUES (?,?)"; $ stmt = $ this-> db-> prepare ($ query); if (! $ stmt) {onError ('ошибка базы данных', $ this-> db-> errno. ':'. $ this-> db-> ошибка); вернуть false;} $ rc = $ stmt-> bind_param ("ss", $ name, $ email); if (! $ rc) {onError ('ошибка базы данных', 'сбой привязки'); возвратfalse;} if (! $ stmt-> execute ()) {onError ('ошибка базы данных', $ stmt-> errno. ':'. $ stmt-> error); вернуть false;} вернуть true;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...