PDA

View Full Version : رفع اشکال در ارتباط با Mysql



وحید دات نت
شنبه 10 دی 1384, 20:21 عصر
با سلام خدمت همه php کارهای عزیز
کد زیر مربوط به وارد کردن اطلاعات یک کتاب در بانک اطلاعاتی mysql است . که قسمت اول مربوط به دریافت اطلاعات و قسمت دوم مربوط به ذخیره آن است .اما رکورد وارد شده درdatabase ذخیره نمی شود .تا آنجایی که من فهمیدم قسمت اتصال به mysql روی سیستم من انجام نمی شه . چند بارهمmysql رو چک کردم . کاملا صحیح نصب شده . حالا از خدمت همه عزیزان این درخواست رو دارم که ببینید کجای کد زیر اشتباه رخ داده یا که مشکل کار من درکجا است . آیا بعد از نصب mysql عمل خاصی باید انجام بدهم .



<html>
<body>
<form action="ch10-1.php" method="POST">
<table border="1">
<tr>
<td><b>ISBN</b></td>
<td><input type="text" size="13" name="isbn" /></td>
</tr>
<tr>
<td><b>Author</b></td>
<td><input type="text" size="20" name="author" /></td>
</tr>
<tr>
<td><b>Title</b></td>
<td><input type="text" size="25" name="title" /></td>
</tr>
<tr>
<td><b>Price</b></td>
<td><input type="text" size="5" name="price" /></td>
</tr>
<tr>
<td><b>Page</b></td>
<td><input type="text" size="5" name="page" /></td>
</tr>
<tr>
<td width=20></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>






<?php
//retrive from variable
$isbn=$_POST['isbn'];
$author=$_POST['author'];
$title=$_POST['title'];
$price=$_POST['price'];
$page=$_POST['page'];
if (strlen($isbn)== 0 or strlen($author)== 0)
{
echo "Go back and fill all field";
exit;
}
// conect to mysql server
$db = mysql_connect();
if (!$db)
die('Error : cannot open conection'.mysql_error());

echo 'Connected successfully';
mysql_select_db('publisher');
$query= "insert into books
(isbn,author,title,price,page)values
('".$isbn."','".$title."','".$author."','".$price."','".$page."' )";
$result = mysql_query($query);
if($result)
echo mysql_affected_rows()."<b> book insert into database.</b>";
mysql_close($db);
?>


باتشکر

oxygenws
شنبه 10 دی 1384, 21:37 عصر
خط زیر رو جایگزین کن:
mysql_select_db('publisher') or die(mysql_error());

و در قسمت if که اون پایین نوشتی، یک else بذار و همین mysql_error رو بنویس.

moohssenn
یک شنبه 11 دی 1384, 00:11 صبح
query اینسرتتم یه چه بکن .

وحید دات نت
یک شنبه 11 دی 1384, 15:57 عصر
باتشکر از راهنمایی هاتون

این راههایی که شما فرمودید رو انجام دادم اما هیچ پیغامی صادر نمی شود .
لازم است مجددا تاکید کنم که برنامه فوق تا قبل از تابع mysql_connect انجام می شود و ظاهرا از آنجا به بعد هیج عملی را انجام نمی دهد . حتی صدور یک پیغام توسط echo.

oxygenws
یک شنبه 11 دی 1384, 18:43 عصر
در mysql_connet از username و password و address استفاده بکن.
(برای اطلاعات دقیقتر، راهنمای PHP رو ببین.)

وحید دات نت
سه شنبه 13 دی 1384, 18:40 عصر
از username و پسورد نیز استفاده کردم ولی باز فایده ندارد .
لطفا اگر می شود روش نصب mysql و شرایط احتمالی نصب رو توضیح بدهید .
:گریه: :گریه:

oxygenws
سه شنبه 13 دی 1384, 18:57 عصر
فایل php.ini رو باز کن و در قسمت error_reporting مقدار E_ALL رو بذار (مطمئن بشو که علامت ; در ابتدای خط وجود ندارد)
و مقدار display_error رو on کن.
موفق باشی.

وحید دات نت
چهارشنبه 14 دی 1384, 18:26 عصر
پس از انجام عملیات بالا با این پیغام در صفحه دوم برخورد کردم .
Fatal error: Call to undefined function mysql_connect() in E:\PROJECTS\PHP Files\Chapter10\ch10-1.php on line 14

oxygenws
چهارشنبه 14 دی 1384, 21:27 عصر
در مورد این سوالت می تونی تو انجمن جستجو کنی و جوابت رو بدست بیاری.
موفق باشی.

وحید دات نت
یک شنبه 18 دی 1384, 09:13 صبح
من php رو روی Apache Server نصب کردم و extension_dir=”d:\php\ext” تنظیم کردم . حال برای اضافه کردن extension مربوط به php_mysql با خطای زیر در هنگام Restart کردن Apache مواجه شدم .

Unable to load dynamic library ‘d:\php\ext\php_mysql.dll’ The specified moudule could not be found .
حال جهت رفع این مشکل چه عملیاتی را باید انجام دهم .

oxygenws
یک شنبه 18 دی 1384, 11:44 صبح
مقاله من در مورد نصب php روی apache رو دقیق بخونید.

وحید دات نت
دوشنبه 19 دی 1384, 13:14 عصر
تمام مقاله نصب php رو خوندم . من هم php 5 رو روی apache نصب کردم ولی هنگام restart کردن apache پیغام قبل رو تکرار می کنه ؟ لطفا من رو راهنمایی کنید . چون خیلی فوری mysql رو لازم دارم .

oxygenws
دوشنبه 19 دی 1384, 18:23 عصر
باید فایل libmysql.dll رو تو یکی از شاخه های معرفی شده در PATH سیستم عاملتون بریزید (مثل شاخه ویندوز، یا شاخه سیستم ویندوز)

وحید دات نت
سه شنبه 20 دی 1384, 09:01 صبح
با تشکر از تمامی راهنماییهاتون .واقعا عالی بود. امیدوارم که موفق باشید .

:تشویق: :قلب: :تشویق: