MySQL ile php hazırlanmış sorguları yapmak için PDO kullanıyorum. Sorgu hatasız yürütür ama bir parametre düzgün değerini geçmez. Bu boş bir alan olarak calışmaya geliyor, ama null değil. Ben kodu diğerleri gibi aynı girmiş görünüyor gibi gerçekten garip ders çalışma cezası hangi. Gerçekten sinir bozucu.
$f_name = $_POST['f_name'];
$l_name = $_POST['l_name'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$address1 = $_POST['address_1'];
$address2 = $_POST['address_2'];
$suburb = $_POST['suburb'];
$city = $_POST['city'];
$country = $_POST['country'];
$phone = $_POST['phone'];
include('db_connect.php');
$stmt = $db_connection->prepare('INSERT INTO tblUser (userID,fName, lName, email, password, addressLine1, suburb, city, country, phone) VALUES( NULL, :f_name, :l_name, :email, :pass, :address1, :suburb, :city, :country, :phone)');
$stmt->bindParam(':f_name', $f_name, PDO::PARAM_STR);
$stmt->bindParam(':l_name', $l_name, PDO::PARAM_STR);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':pass', $pass, PDO::PARAM_STR);
$stmt->bindParam(':address1', $address1, PDO::PARAM_STR);
//$stmt->bindParam(':address2', $address2, PDO::PARAM_STR);
$stmt->bindParam(':suburb', $suburb, PDO::PARAM_STR);
$stmt->bindParam(':city', $city, PDO::PARAM_STR);
$stmt->bindParam(':country', $country, PDO::PARAM_STR);
$stmt->bindParam(':phone', $phone, PDO::PARAM_STR);
try {
$stmt->execute();
print_r($stmt);
$result = $stmt->fetchAll();
}
catch (Exception $e) {
echo $e;
}
Print_r ($ _POST) çıkış; olan: Array ([email] => test@test.com [pass_confirm] => geçmek [f_name] => fefs [l_name] => sfasafs [address_1] => sfafsa [address_2] => dsfsafsaf geçmek => [pass] [banliyösünde] => dffdsa [şehir] => dsffdf [ülke] => sfaafdsa [telefon] => fsaafssaf [göndermek] => Kayıt)
Sorun veritabanını yeni bir rekor ile doldurulur, ancak şifre alanına bir boş olmasıdır. Ben şeyleri kolaylaştırmak için karma kaldırıldı.
Burada kullanıcı tablonun SQL olduğunu:
CREATE TABLE IF NOT EXISTS `tbluser` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`password` varchar(40) NOT NULL,
`email` varchar(60) NOT NULL,
`addressLine1` varchar(30) DEFAULT NULL,
`addressLine2` varchar(30) DEFAULT NULL,
`suburb` varchar(30) DEFAULT NULL,
`city` varchar(30) DEFAULT NULL,
`country` varchar(40) DEFAULT NULL,
`phone` varchar(25) DEFAULT NULL,
`fName` varchar(30) DEFAULT NULL,
`lName` varchar(30) NOT NULL,
`admin` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`userID`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `email_3` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;