2014-11-30 4 views
0

Я получаю данные из формы, чтобы войти в мою базу данных SQL, используя PDO, этот же код работал для меня до сих пор. Код действительно публикуется на этой странице, но я не знаю, что я делаю неправильно или изменил, чтобы он не попал в базу данных. Я получил код вставки из PHPMYADMINPDO SQL не входит в базу данных

car-subclass-desc INSERT INTO (sub-model-id, car-model, sub-model-name, sub-engine, sub-hp, sub-top-speed, sub-0_to_60, sub-tourque, sub-weight, sub-model-desc, sub-production-start-price) VALUES ([значение-1], [значение- 2], [значение-3], [значение-4], [значение-5], [значение-6], [значение-7], [значение-8], [значение-9], [значение-10] , [значение-11])

Я изменил это на это и удалил идентификатор под-модели, потому что это первичный ключ. re - это код, исключающий информацию для входа в базу данных.

$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass); 
//Get's Varaiables 
$form = $_POST; 
$sub_name = $form[ 'car-sub-name' ]; 
$engine = $form[ 'engine' ]; 
$hp = $form[ 'hp' ]; 
$topspeed = $form[ 'top-speed' ]; 
$zeroto = $form[ '0to60' ]; 
$tourqe = $form[ 'tourqe' ]; 
$weight = $form[ 'weight' ]; 
$desc = $form[ 'desc']; 
$msrp = $form[ 'msrp' ]; 
$mname = $form[ 'mname' ]; 

// query 
$sql = "INSERT INTO `car-subclass-desc`(`car-model`, `sub-model-name`, `sub-engine`, `sub-hp`, `sub-top-speed`, `sub-0_to_60`, `sub-tourque`, `sub-weight`, `sub-model-desc`, `sub-production-start-price`) VALUES (:mname,:smname,:engine,:hp,:topspeed,:zeroto,:tourqe,:weight,:desc,:msrp)"; 
$q = $conn->prepare($sql); 
$q->execute(array(':smname'=>$sub_name,':engine'=>$engine,':hp'=>$hp,':topspeed'=>$topspeed,':zeroto'=>$zeroto,':tourqe'=>$tourqe,':weight'=>$weight,':desc'=>$desc,':msrp'=>$msrp,':mname'=>$mname)); 
+2

Итак ... в чем проблема? Вы получаете сообщение об ошибке? Что говорит $ q-> errorInfo()? – rjdown

+0

Проблема в том, что она не будет отображаться в базе данных. Когда я повторил $ ​​q-> errorInfo(), он сказал «Массив» @rjdown – user3518071

+1

Да, не эхо. var_dump it. – rjdown

ответ

0

Использовать попытку поймать как всегда !!

$form = $_POST; 
$sub_name = $form[ 'car-sub-name' ]; 
$engine = $form[ 'engine' ]; 
$hp = $form[ 'hp' ]; 
$topspeed = $form[ 'top-speed' ]; 
$zeroto = $form[ '0to60' ]; 
$tourqe = $form[ 'tourqe' ]; 
$weight = $form[ 'weight' ]; 
$desc = $form[ 'desc']; 
$msrp = $form[ 'msrp' ]; 
$mname = $form[ 'mname' ]; 

try{ 

// query 
$sql = "INSERT INTO car-subclass-desc(car-model, sub-model-name, sub-engine, 
sub-hp, sub-top-speed, sub-0_to_60, sub-tourque, sub-weight, sub-model-desc, 
sub-production-start-price) VALUES (:mname,:smname,:engine,:hp,:topspeed,:zeroto,:tourqe,:weight,:desc,:msrp)"; 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$conn>beginTransaction(); 
$stmt = $conn->prepare($sql, array(PDO::FETCH_ASSOC)); 
$stmt->bindParam(':mname', $mname, PDO::PARAM_STR, 255);// fix your parameters values here 
$stmt->bindParam(':smname', $smname, PDO::PARAM_INT); // fix your parameters values here 
$stmt->bindParam(':engine', $engine, PDO::PARAM_STR, 30); // fix your parameters values here 
$stmt->bindParam(':hp', $hp, PDO::PARAM_STR, 30); // fix your parameters values here 
$stmt->bindParam(':topspeed', $topspeed, PDO::PARAM_STR, 255); // fix your parameters values here 
$stmt->bindParam(':zeroto', $zeroto, PDO::PARAM_STR, 20); // fix your parameters values here 
$stmt->bindParam(':tourqe', $tourqe, PDO::PARAM_STR, 30); // fix your parameters values here 
$stmt->bindParam(':desc', $desc, PDO::PARAM_STR, 255); // fix your parameters values here 
$stmt->bindParam(':desc', $desc, PDO::PARAM_STR, 20); // fix your parameters values here 
$stmt->bindParam(':msrp', $msrp, PDO::PARAM_STR, 30); // fix your parameters values here 
$stmt->execute(); 
$conn->commit(); 
$stmt = null; 

}catch (Exception $e) 
     {  
      echo "error occured : " .$e; 
      $stmt = null; 
      $conn->rollback(); 
     } 
Смежные вопросы