2014-11-14 2 views
1

У меня этот запрос, и он не вставляется в базу данных, но он также не дает ошибку.Запрос не вставляющий, но не дающий ошибки

 try { 
     $sth = $Db->dbh->prepare("INSERT INTO users (username,password,email,phone,first_name) VALUES (:username,:password,:email,:phone,:firstname)"); 
     $sth->execute(array(':username' => $username,':password' => $password, ':email' => $email,':phone' => $phone,':firstname'=>$firstname)); 
    } catch(Exception $e) { 
     echo $e->getMessage(); 
     exit(); 
    } 

enter image description here Я попытался вставить запрос по команде и она отлично работает. На сайте есть другие запросы на вставку, и они отлично работают. Я не уверен, что я делаю неправильно здесь

+1

'' Perm' и rank' не нужны значения? – TiiJ7

+0

@ TiiJ7 nope. и я попытался добавить их, и это не имеет значения. – user2879055

ответ

0

Можете ли вы попробовать что-то вроде этого?

try 
{ 
    // Prepare Statement 
    if (!($stmt = $mysqli->prepare("INSERT INTO users (username,password,email,phone,first_name) VALUES (?,?,?,?,?)"))) 
     throw new Exception("Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error); 

    // Bind Parms 
    if (!$stmt->bind_param("sssss", $username, $password, $email, $phone, $firstname)) 
     throw new Exception("Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error); 

    // Execute Statement 
    if (!$stmt->execute()) 
     throw new Exception("Execute failed: (" . $stmt->errno . ") " . $stmt->error); 
} 
catch (Exception $ex) { 
    exit('Error: '. $ex->getMessage()); 
} 

P.S. Как TiiJ7 предложение на комментарий к вашему вопросу, эти два столбца perm и rank - они nullable столбцы? если нет, вам может потребоваться указать значение во время ввода строки.

Больше информации здесь: http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

+0

Хорошо, почему вы не можете поместить все эти vars в bindParam, поэтому я сделал это один за другим. Это ошибка при выполнении: Ошибка: выполнить не удалось:() (я сделал это, чтобы привязки также выставляли exeption, а они нет) – user2879055

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