PDA

View Full Version : مبتدی: آپدیت پایگاه داده



smemamian
دوشنبه 30 اردیبهشت 1392, 11:02 صبح
سلام من تازه وقت پیدا کردم php و .. یاد بگیرم.در یک مثال مشکل پیدا کردم !من توی پایگاه داده ام یک جدول دارم به نام users که ستون هاش u_username - u_password - u_emailمن 2 تا سطر توی پایگاه داده درست کردم که یکی از یوزرنیم های اون رو masoud قرار دادم .

این کد html :

<!doctype html>
<html lang="fa">
<head>
<meta charset="utf-8">
<title>Simple form</title>

<p style="font-family : tahoma ; color:blue ; Background-Color : yellow" >
</p>

<style type="text/css">
body,input[type="submit"]
{
text-align:center;
font:.9em tahoma
}
form
{
width:400px;
margin:200px auto 0 auto;
border:1px silver solid
}

</style>
</head>

<body dir="rtl">
<form action="update.php" method="post">
نام کاربری : <input name="username" type="text" /> <br />
کلمه عبور : <input name="password" type="password" /><br />
ایمیل : <input name="email" type="text" /><br />
<input name="send" type="submit" value="آپدیت" />


</form>
</body>
</html>

و این کد update.php هستش :



<?php

$con=mysql_connect('localhost','root','mypass');

$user=$_POST['username'];
$pass=$_POST['password'];
$mail=$_POST['email'];

$sql = "UPDATE `users` SET `u_email`=$mail WHERE `u_username`=$user ";

?>


وقتی اسم رو masoud قرار میدم و ایمیل جدید میزنم تغییری توی پایگاه دادم نمی بینم ! (فیلد پسورد رو تغییر نمیدم)

engmmrj
دوشنبه 30 اردیبهشت 1392, 11:33 صبح
شما دو خطا مسلم دارین :
1- دیتابیس مورد نظر رو انتخاب نکردین .(mysql_select_db)
2-دستور sql تون رو به عنوان query ارسال نکردین .(mysql_query)
و اینکه نام فیلد هاتون استاندار نیست ، بهتر از نامگذاری استاندار استفاده کنید .

smemamian
دوشنبه 30 اردیبهشت 1392, 11:45 صبح
<?php

$con=mysql_connect('localhost','root','mypass');

$user=$_POST['username'];
$pass=$_POST['password'];
$mail=$_POST['email'];

mysql_select_db('users', $con);

$query= mysql_query ("UPDATE `users` SET `u_email`=$mail WHERE `u_username`=$user ");


?>



تشکر
الان درست هست ؟

در مورد نامگذاری استاندارد هم اگه کمی توضیح یا لینکی معرفی کنید ممنون می شوم.

mahmod2000
دوشنبه 30 اردیبهشت 1392, 12:05 عصر
<?php

$con=mysql_connect('localhost','root','mypass') or die ("Not Connected mysql");
mysql_select_db('users', $con) or die("not Connect DB");

$user=isset($_POST['username']) ? $_POST['username'] : '' ;
$pass=isset($_POST['password']) ? $_POST['password'] : '' ;
$mail=isset($_POST['email']) ? $_POST['email'] : '' ;



$query= mysql_query ("UPDATE `users` SET `uEmail`=".$mail." WHERE `uUsername`=".$user." ");


?>



در مورد نام گذاری استاندارد هم نباید اسم فیلد های جدول رو توش " _ " به کار ببرید و یه سری دستورات دیگه که جستجو کنید پیدا میکنید

موفق باشید

smemamian
دوشنبه 30 اردیبهشت 1392, 12:23 عصر
پیغام Not Connected mysql رو میده در صورتی که من فرم وارد کردن اطلاعت کاربر رو دارم و به راحتی وارد جدول میشه !

mahmod2000
دوشنبه 30 اردیبهشت 1392, 12:37 عصر
شما در اینجا :
$con=mysql_connect('localhost','root','mypass') or die ("Not Connected mysql");

جای mypass رو خالی میزارید دیگه... درسته؟

با این امتحان کنید ببینید چی میشه


mysql_connect('localhost','root','') or die ("Not Connected mysql");
mysql_select_db('users') or die("not Connect DB");

smemamian
دوشنبه 30 اردیبهشت 1392, 13:55 عصر
نه ! پسورد رو میذارم دیگه !


Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: NO) in /opt/lampp/htdocs/Test/update.php on line 3
Not Connected mysql

smemamian
دوشنبه 30 اردیبهشت 1392, 14:38 عصر
ببخشییییییییید ! نام پایگاه دادم اسمش test هستش ! اشتباه وارد می کردم ! ولی باز در جدول تغییری نمی بینم :(


<?php

$con=mysql_connect('localhost','root','mypassword' ) or die ("Not Connected mysql");
mysql_select_db('test', $con) or die("not Connect DB");

$user=isset($_POST['us']) ? $_POST['us'] : '' ;
$mail=isset($_POST['em']) ? $_POST['em'] : '' ;

$query= mysql_query ("UPDATE `users` SET `u_email`=".$mail." WHERE `u_username`=".$user." ");

?>

mahmod2000
دوشنبه 30 اردیبهشت 1392, 14:58 عصر
دوست عزیز اسم فیلد جدول رو تغیر بدید

u_username و u_email

_ وسطشو بردارید
یعنی اینو بزنید
uUsername و uEmail