PDA

View Full Version : سوال: دستور PDO



irwebir
جمعه 19 دی 1393, 15:22 عصر
سلام دوستان قبلا من برای ساخت تبل های دیتایس از این کد استفاده میکردم



<?php
$connect = mysql_connect ("Localhost","root","")
or die(mysql_error());
mysql_select_db ('SS' , $connect);
mysql_query("CREATE TABLE ??(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
?? VARCHAR(255),
?? VARCHAR(255)
)
ENGINE=MyISAM ")
or die(mysql_error());
mysql_close($connect);
?>

الان دیگه این کدا از کار افتاده الان میخوام بدونم با استفاده از PDO که الان کاربرد داره چطوری کار کد بالا رو بکنم ؟

ostadsho
جمعه 19 دی 1393, 22:05 عصر
مرحله اول وصل شدن به دیتابیس که با pdo این شکلیه:



try{
$db=new PDO('mysql:host=localhost;dbname=db_eshop','root', '',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}

catch(PDOException $error){

echo "Connection failed: " . $error->getMessage();

}






مرحله دوم اجرای کوئری مورد نظرتونه که یه مثال رو فقط میگم فرض کنید میخواید توی جدولی به نام tbltest یه سری مقادیر رو insert کنید:




$sql="insert into tbltest (fieldname) values ('$value')";
$stmt=$db->prepare($sql);
$stmt->execute();

irwebir
یک شنبه 21 دی 1393, 14:53 عصر
نخواستم یه تایپک دیگه بزنم همین جا میگم

من برای ذخیره ی اطلاعات مشکل دارم از کد زیر برای ذخیره استفاده میکنم اما کار نمیکنه


$sql = "INSERT INTO post (post, taitall) VALUES (:user, :pass)";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":user"=>$user,
":pass"=>$pass
));
?>

به نظرم کد مشکلی نداره اما اطلاعاتی ذخیره نمیشه مشکل از کجاست ؟

hsgpro
یک شنبه 21 دی 1393, 18:28 عصر
نخواستم یه تایپک دیگه بزنم همین جا میگم

من برای ذخیره ی اطلاعات مشکل دارم از کد زیر برای ذخیره استفاده میکنم اما کار نمیکنه


$sql = "INSERT INTO post (post, taitall) VALUES (:user, :pass)";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":user"=>$user,
":pass"=>$pass
));
?>

به نظرم کد مشکلی نداره اما اطلاعاتی ذخیره نمیشه مشکل از کجاست ؟


اینو امتحان کنید:



<?php
$stmt = $db->prepare('INSERT INTO `post` (`post`, `taitall`) VALUES (:user, :pass)');
$stmt->execute(array(
":user"=>$user,
":pass"=>$pass
));
?>