2013-11-12 3 views
0

У меня есть небольшая часть кода внутри функции, но она не работает, даже если я вытащил ее и попробовал самостоятельно, она все равно не работает. Я использовал MySQL Database Class https://github.com/ajillion/PHP-MySQLi-Database-ClassФункция не возвращается, даже если она работает

require_once('class.mysql.php'); 
    $_db = new Mysqlidb('localhost', 'root', '', 'database'); 


    $userCredentials = array(
         'userID' => 'asdasda', 
         'username' => 'dsdasdasd', 
         'password' => 'v423423c342c23', 
         'email' => '[email protected]', 
         'userType' => 1, 
        ); 

    if($_db->insert('users', $userCredentials)) echo 'success'; 

Правильные данные вставленный в базу данных, но не отображается успех, является их причиной для этого?

+0

Класс использует 'affected_rows', чтобы определить, произошла ли вставка. Если вы используете эти одни и те же данные образца снова и снова, возможно, он уже присутствует и не вставлен снова? –

+0

Поскольку вы не используете какой-либо стандарт де-факто или известную библиотеку, я не думаю, что это правильный вопрос для Stack Overflow. В самой библиотеке может быть ошибка. Если вам все равно, вам нужно отладить библиотеку (используя те же методы, которые вы использовали бы на своем собственном коде). –

+2

Я быстро прошел через код библиотеки - он не проверяет ошибки во время 'execute' - это одна вещь говорит мне ** не используйте эту библиотеку ** –

ответ

2

Mysqlidb::insert неправ. Возврат $stmt->insert_id вместо $stmt->execute();. Ваш запрос не использует значение автоинкрементного, таким образом, вы получаете 0.

Совета от комментариев:

не использовать эту библиотеку

0

Вы получили дополнительный ком в конце массив, который вы передаете как параметр, я не думаю, что его проблема, но все же ... Вы пытались увидеть, что действительно возвращается через var_dump?

Смежные вопросы