ورود

View Full Version : خطا در mysql



tiyam123
دوشنبه 23 اردیبهشت 1392, 11:31 صبح
سلام
من توی کار با mysql با این خطا مواجه میشم:"No database selected"...به نظرتون مشکل از کجاس؟

dousti_design
دوشنبه 23 اردیبهشت 1392, 11:45 صبح
باید اول دیتابیسی که میخاید باهاش کار کنید رو با دستور use (http://dev.mysql.com/doc/refman/5.0/en/use.html) انتخاب کنید بعدش کوئری هاتون رو اجرا کنید.


USE database_name

tiyam123
دوشنبه 23 اردیبهشت 1392, 12:44 عصر
باید اول دیتابیسی که میخاید باهاش کار کنید رو با دستور use (http://dev.mysql.com/doc/refman/5.0/en/use.html) انتخاب کنید بعدش کوئری هاتون رو اجرا کنید.


USE database_name


کد PHP که نوشتم اینه:


<?php
$con = mysql_connect("localhost","","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);
use my_db;

$sql="INSERT INTO persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($sql,$con))
{
die('Error344: ' . mysql_error());
}
echo "1 record added";

mysql_close($con)
?>

الان که use رو هم اضافه کردم این خطا رو میده:
Warning: The use statement with non-compound name 'my_db' has no effect in C:\xampp\htdocs\insert.php on line 9
Error344: No database selected
مشکل چیه به نظرتون؟

dousti_design
دوشنبه 23 اردیبهشت 1392, 12:56 عصر
use کوئری mysql هست دستور php نیست که همینجوری بنویسید اونجا :)
use کار همون mysql_select_db رو در php انجام میده.
اگه جدولتون به این شکل باشه:


CREATE TABLE `my_db`.`persons` (`FirsName` VARCHAR(100) NOT NULL, `LastName` VARCHAR(100) NOT NULL, `Age` INT(2) NOT NULL) ENGINE = MyISAM;

و دستوراتتون هم به این شکل:


<?php
$con = mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("my_db", $con);
$sql="INSERT INTO persons (`FirstName`, `LastName`, `Age`)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
mysql_query($sql,$con)or die(mysql_error());
mysql_close($con);
?>


درست کار میکنه. برای mysql connect نام کاربری بدید. اگه لوکال کار میکنید root هست که من گذاشتم

tiyam123
دوشنبه 23 اردیبهشت 1392, 14:19 عصر
بسیار بسیار زیاد سپاسگزارم از کمکتون....:لبخندساده:
حالا میشه یه سوال دیگه هم بپرسم؟ اگه بخوام مثلاً یه عکس یا یه فایل رو توی دیتا بیس اضافه کنم باید با اسم اون فایل یا عکس این کارو بکنم، درسته؟ و برای خوندنش از دیتابیس هم باید اسمشو select کنم؟

dousti_design
دوشنبه 23 اردیبهشت 1392, 14:27 عصر
بسیار بسیار زیاد سپاسگزارم از کمکتون....
لطفا از لینک تشکر استفاده کنید:لبخندساده:

اگه بخوام مثلاً یه عکس یا یه فایل رو توی دیتا بیس اضافه کنم باید با اسم اون فایل یا عکس این کارو بکنم، درسته؟ و برای خوندنش از دیتابیس هم باید اسمشو select کنم؟
بله باید ابتدا فایل رو آپلود کنید روی هاستتون و سپس فقط اسمش رو توی دیتابیس ذخیره کنید.