یک کوئری در mysql

Nabavi

Member
سلام دوستان من می خوام یک فایل php بنویسم که آدرس دیتابیس و یوزر و پسورد بدم بعد یک کلمه ای را با یک کلمه دیگر جایگزین کنه تو تمامی دیتابیس و جدول ها این کلمه را تغییر بده من خودم یک کوئری نوشتم ولی فقط تو یک جدول خاص این کار را می کند اگر ممکنه یکی راهنمایی کند.

ممنون :rose:
 

felix

Member
سلام دوستان من می خوام یک فایل php بنویسم که آدرس دیتابیس و یوزر و پسورد بدم بعد یک کلمه ای را با یک کلمه دیگر جایگزین کنه تو تمامی دیتابیس و جدول ها این کلمه را تغییر بده من خودم یک کوئری نوشتم ولی فقط تو یک جدول خاص این کار را می کند اگر ممکنه یکی راهنمایی کند.

ممنون :rose:
بدون کد که نمیشه کمکی کرد لطفا کدت رو هم بزار:rose:
 

Nabavi

Member
ببین شما زحمت بکش از نو بنویس کوچیکه : یوزر و پسورد و نام دیتابیس را بذاری و بعد از اجرا یک کلمه ای را به یک کلمه دیگر تو کل دیتابیس تغییر بده یعنی replace کند :green:
 

felix

Member
ببین شما زحمت بکش از نو بنویس کوچیکه : یوزر و پسورد و نام دیتابیس را بذاری و بعد از اجرا یک کلمه ای را به یک کلمه دیگر تو کل دیتابیس تغییر بده یعنی replace کند :green:
PHP:
$username=$_POST['username'];
$password=$_POST['passsword'];
$dbname=$_POST['dbname'];
mysql_connect("localhost" ,"$username", "$password");
mysql_select_db("$dbname");
$q="update `test` set name='ali' where name!='ali'";
mysql_query($q);
من فرض رو بر این گذاشتم که نام جدول ها رو میدونی حالا اگه نام جدول یا جدول ها رو هم نمیدونی کافیه یه شرط بزاری که مثلا اگه دیتابیس یک بود جدول الف و ب و پ رو آپدیت کن اگه دیتابیس دو بود جدول ج و خ و ج رو آپدیت کن

البته منظور سوالت رو هنوزم نفهمیدم نمیدونم منظورت همین بود یا نه؟:wink:
فقط اینو یادت باشه برای آپدیت کردن توی دیتابیس باید نام جدول نام ستونی که میخوای آپدیت کنی رو بدونی
البته اگر کلا نام جدول رو هم نمیدونی و نام ستون رو هم نمیدونی من پیش نهاد میدم اول با کوئری show tabels تموم جدول های یک دیتابیس رو انتخاب کنی بعدی یکی یکی ستون های اون ها رو پیدا کنی با دستور mysql_field_name() بعد دستور آپدیت رو روی اون انجام بدی فکر کنم دوتا حلقه هم لازم داری یکی برای جدول ها یکی برای ستون ها
 
آخرین ویرایش:

Nabavi

Member
آره دوست عزیز من می خوام توی تمامی جداول اعمال بشه اسامی جداول را می تونم بنویسم ولی خیلی زیاده فقط می خوام یک کلمه به جای یک کلمه در کل دیتابیس جایگزین بشه :)
 

felix

Member
آره دوست عزیز من می خوام توی تمامی جداول اعمال بشه اسامی جداول را می تونم بنویسم ولی خیلی زیاده فقط می خوام یک کلمه به جای یک کلمه در کل دیتابیس جایگزین بشه :)
منظور من این کد بود ببین بدرت میخوره یا منظورت چیزه دیگه ای هست اگر ممکنه کلا بگو میخوای چیکار کنی شاید راحل راحت تری براش پیدا شد.
PHP:
$username=$_POST['username'];
$password=$_POST['passsword'];
$dbname=$_POST['dbname'];
mysql_connect("localhost" ,"$username", "$password");
mysql_select_db("$dbname");
$q="show tables";
$result=mysql_query($q);  
$count_tabel=mysql_num_row($result);
for ($i=0 ; $i<$count_tablel ; $i++)
{
    $row=msql_fetch_row($result);
    $q2="select * from $row[0]";
    $result2=mysql_query($q2);
    $Count_field_tabel=mysql_num_fields($ressult2);
    for($j=0;$j<$Count_field_tabel;$j++)
    {
        $feild=mysql_fetch_field($result2);
        $q3="update $row[0] set $feild[0]= '1' where $feild[0]='2'";
        mysql_query($q3);
    }

}
 

Nabavi

Member
ببین دوست عزیز آدرس یک سایتی تغییر کرده است من می خواهم مثلاً آدرس reza.com را تبدیل کنم به reza.ir یعنی تو تمام جداول این کار اعمال بشه :green:
 

felix

Member
ببین دوست عزیز آدرس یک سایتی تغییر کرده است من می خواهم مثلاً آدرس reza.com را تبدیل کنم به reza.ir یعنی تو تمام جداول این کار اعمال بشه :green:
PHP:
 update table_name set `field_name`= REPLACE (`titel`,'reza.com','reza.ir')
این کد برای جایگذین کردن
 

جدیدترین ارسال ها

بالا