PDA

View Full Version : سوال: مشکل در دستور اپدیت با pdo



mimi12
دوشنبه 24 فروردین 1394, 16:31 عصر
سلام دوستان در دستور زیر مشکل از کجاست اپدیدت انجام نمیشه و خطا هم نمیده





<?php
include("connect.php");
if(isset($_POST["btn"]))
{
$b= "UPDATE `user`.`users` SET `username` = :user, `password` = :pass WHERE `users`.`id` = :id;";
$query = $connect->prepare($b);
$query->bindParam(":user",$_POST["txtuser"]);
$query->bindParam(":pass",$_POST["txtpass"]);
$query->bindParam(":id",$_SESSION["id"]);
if($query){

header("location:pdo.php?ok=2020");
exit();
}
else
{
header("location:pdo.php?er=1010");
exit();
}
}




?>






<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<?php
include("connect.php");
$a= "select * from users where id='".$_GET["id"]."'";
$query = $connect->query($a);
while($rows = $query->fetch(PDO::FETCH_ASSOC)){
$_SESSION["id"]=$rows["id"];
?>
<form id="form1" name="form1" method="post" action="check-update.php">
<p>
<label for="txtuser">user:</label>
<input type="text" name="txtuser" id="txtuser" value=<?php echo $rows["username"] ?> >
</p>
<p>pass
<label for="txtpass">:</label>
<input type="text" name="txtpass" id="txtpass" value=<?php echo $rows["password"] ?>>
</p>
<p>
<input type="submit" name="btn" id="btn" value="edit">
</p>
</form>
<?php } ?>
</body>
</html>








<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<table border="1" align="center" bgcolor="#E3DEDE" width="800px" height="100px">
<tr bgcolor="#14E49A" align="center">

<td align="center" > id </td>
<td> username </td>
<td> password </td>
<td> delete </td>
<td> Edit </td>
</tr>
<?php
include("connect.php");
$query ="select * from users;";
$result=$connect->query($query);
foreach($result as $rows){
echo "<tr > " ;
echo "<td>" . $rows["id"]."<br>"."</td>" ;
echo "<td >" . $rows["username"]."<br>"."</td>" ;
echo "<td>" . $rows["password"]."<br>"."</td>";
echo "<td>" . "<a href=pdo-del.php?id=".$rows["id"]."> Del </a> </td>"."<br>";
echo "<td>" . "<a href=pdo-update.php?id=".$rows["id"]."> Edit </a> </td>"."<br>";
echo "</tr>";
}
?>
</body>
</html>




در فایل کانکت هم سشن استارت زده شده عملیات درج و حذف به درستی کار میکنه فقط عمل اپدیدت انجام نمیشه

leaping
دوشنبه 24 فروردین 1394, 17:23 عصر
الان باید کار کنه



<?phpinclude("connect.php");if(isset($_POST["btn"])){ $b= "UPDATE `users` SET `username` = :user, `password` = :pass WHERE `id` = :id"; $query = $connect->prepare($b); $query->bindParam(":user",$_POST["txtuser"]); $query->bindParam(":pass",$_POST["txtpass"]); $query->bindParam(":id",$_SESSION["id"]); $result = $query->execute(); if($result){ header("location:pdo.php?ok=2020"); exit(); } else { header("location:pdo.php?er=1010"); exit(); }}?>

mimi12
دوشنبه 24 فروردین 1394, 17:55 عصر
الان باید کار کنه



<?phpinclude("connect.php");if(isset($_POST["btn"])){ $b= "UPDATE `users` SET `username` = :user, `password` = :pass WHERE `id` = :id"; $query = $connect->prepare($b); $query->bindParam(":user",$_POST["txtuser"]); $query->bindParam(":pass",$_POST["txtpass"]); $query->bindParam(":id",$_SESSION["id"]); $result = $query->execute(); if($result){ header("location:pdo.php?ok=2020"); exit(); } else { header("location:pdo.php?er=1010"); exit(); }}?>



نه متاسفانه کار نمیکنه کوئری اپدیدت رو به چند روش نوشتم اما بازم جواب نمیده

leaping
دوشنبه 24 فروردین 1394, 18:19 عصر
دوست عزیز الان با این کد امتحان کردم و کار میکنه
موفق باشید
http://upload7.ir/preview.php?user=&file=3871fe53f3023795aa579fe9d72f8820f8245ddd

تو کد قبلی تاکید بر این بود که



$query->execute();


این کوئری رو باید اجرا و یا execute کنید که در کد خودتون نکرده بودین

mimi12
دوشنبه 24 فروردین 1394, 18:36 عصر
بله این کد رو ننوشته بودم مرسی داداش:قلب:

یه سوال دیگه داداش برای جلوگیری از درج اطلاعات تکراری باید چیکار کرد؟

leaping
دوشنبه 24 فروردین 1394, 18:44 عصر
بله این کد رو ننوشته بودم مرسی داداش:قلب:

یه سوال دیگه داداش برای جلوگیری از درج اطلاعات تکراری باید چیکار کرد؟
اول در کد دستور چک کن همین مقدار رو که آیا در جدولت وجود داره یا نه
از این متهد میتونی استفاده کنی واسه چک کردن وجود داشتن یک مقدار خاص در ستون مورد نظرت


fetchColumn();


خب قطعا اگه این متهد واست مقدار 1 برگردوند یا بیشتر که دستور آپدیت رو اجرا نکن و اگر صفر بود وارد کن