2014-03-27 153 views
0

我承认我是一个新手,当涉及到PDO,但我必须改变一个在MySQL中的窗体..我得到连接,但没有插入..我真的卡住,感觉像一个白痴,因为我知道这是一些简单的我失踪使用PDO插入php

我已经尝试具有高于和插入后的数组..无论是工作

任何帮助,将不胜感激

这里是我的代码:

$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass); 


$STH = $conn->prepare("INSERT INTO PinTrade (ID, PIN, Year, Make, Model, Mileage, FirstName, LastName, Phone, Email, Date) 
VALUES ('', '$pin', '$year', '$make', '$model', '$mileage', '$first', '$last', '$phone', '$email', '1234')"); 
$STH->bindParam(':PIN', $_POST['pin']); 
$STH->bindParam(':Year', $_POST['year']); 
$STH->bindParam(':Make', $_POST['make']); 
$STH->bindParam(':Model', $_POST['model']); 
$STH->bindParam(':Mileage', $_POST['mileage']); 
$STH->bindParam(':FirstName', $_POST['first']); 
$STH->bindParam(':LastName', $_POST['last']); 
$STH->bindParam(':Phone', $_POST['phone']); 
$STH->bindParam(':Email', $_POST['email']); 
$STH->execute(); 
+1

首先:http://stackoverflow.com/questions/3726505/how-to-squeeze-error-message-out-of-pdo –

+1

您需要将所有值更改为bindParam()处理 - 不是'$ model',而是:查询中的模型。 –

+0

但是你的问题相当愚蠢:你正在使用PDO错误的方式。你正在学习什么教程? –

回答

1

在查询中值摆脱了美元符号和报价:

$STH = $conn->prepare("INSERT INTO PinTrade (ID, PIN, Year, Make, 
         Model, Mileage,  FirstName, LastName, Phone, Email, Date) 
         VALUES (null, :PIN, :Year, :Make, //and so on.... 

还要注意,假设ID是自动递增的字段,只需要插入空

VALUES (null, :PIN, 

最后,如果你拉从后阵,我会使用bindValue超过bindParam

+0

谢谢大家谁帮助。我真的,真的很感激! – user2754629