PDA

View Full Version : چگونه یک table در mysql توسط php بسازیم؟



fakher
جمعه 24 مهر 1383, 20:01 عصر
سلام دوستان
من برای ساخت یک table در php5 اینگونه عمل می کنم:



<?php
error_reporting(E_ALL);
$dbhost = "localhost";
$dbuser = "root";
$dbpasswd = "";
$db_name="test";

$db=mysql_connect("$dbhost","$dbuser","$dbpasswd");
mysql_select_db($db_name,$db);

if (!$db) {
die('Not connected : ' . mysql_error());
}

$db_selected = mysql_select_db('test', $db);
if (!$db_selected) {
die ('Can\'t use test : ' . mysql_error());
}

$result = mysql_query("CREATE TABLE banneradmin (
id int(11) DEFAULT '0' NOT NULL auto_increment,
adminuser varchar(15) NOT NULL,
adminpass varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id, adminuser)
)");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>


وقتی این برنامه را اجرا می کنم قسمت آخر برنامه یک ارور می ده که:
'Invalid query: Invalid default value for 'id
این از کجا ناشی می شه؟
همین برنامه چرا تو سرورهای هاست اینترنت اجرا می شه و ارور هم نمی ده و table هم ساخته می شه ولی تو لوکال هاست من این کار نمی شه؟

oxygenws
جمعه 24 مهر 1383, 23:42 عصر
سلام،

مطمئنید کد بالا رو بدون کوچکترین تغییری اینجا نوشتید؟؟
منظورم این بخشش هست:

CREATE TABLE banneradmin (
id int(11) DEFAULT '0' NOT NULL auto_increment,
adminuser varchar(15) NOT NULL,
adminpass varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id, adminuser)
)

fakher
شنبه 25 مهر 1383, 00:31 صبح
آره کاملا . من همه اونا رو کپی کردم اینجا
ولی فکر کنم مشکل به تنظیمات من در پیکربندی باشه

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

oxygenws
شنبه 25 مهر 1383, 03:53 صبح
شما از یکی از کد های زیر به جای اون کدی که لابا نوشتم/نوشتی استفاده کن:


CREATE TABLE banneradmin (
id int(11) DEFAULT `0` NOT NULL auto_increment,
adminuser varchar(15) NOT NULL,
adminpass varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id, adminuser)
)

یا:


CREATE TABLE banneradmin (
id int(11) DEFAULT 0 NOT NULL auto_increment,
adminuser varchar(15) NOT NULL,
adminpass varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id, adminuser)
)

توجه کن که هر دوی این کد ها با اونی که شما نوشتی متفاوت هستش.
اگر اولی کار نکرد، حتما دومی رو هم تست کن.

نظر من: هر دو برات کار خواهد کرد :D

موفق باشید، امید

fakher
یک شنبه 26 مهر 1383, 17:56 عصر
مرسی از راهنماییت متشکرم

oxygenws
یک شنبه 26 مهر 1383, 18:42 عصر
حالا مشکلتون حل شد یا نه؟؟
با کدوم روش؟ هر دو؟!

fakher
یک شنبه 03 آبان 1383, 06:33 صبح
ببخشید که دیر جواب دادم بدلیل مشکلات به شهرستان سفر کرده بودم

راستش با این روش حل نشد

مشکل از نحو نصب mysql بود و من از نو نصب کردم البته نسخه 4 آنرا اینبار نصب کردم و جواب داد.