שלום חברים,
בהמשך לאשכול הקודם שלי בו חברים פה בפורום עזרו. בניתי (בעזרתכם כמובן) איזשהו סקריפט שעזר לי נורא.
אני אסביר קודם למה בניתי אותו ואח"כ למה הוא טוב.
עברית בדאטה בייסים זה משהו לא חדש.. המון מהמתכנתים בין היתר אני. מסתבכים בחלק מן השרתים ובין כל שרת לשרת יש קידודים ושיטות גיבויים שונים.
לכן בניתי איזשהו סקריפט שבעצם לוקח את כל הטבלאות בדאטה בייס ומכין קובץ SQL שהוא רק INSERT לדאטה בייס.
למה הוא טוב?
הרעיון היה בעצם לעשות גיבוי באמצעות phpmyadmin לטבלאות בלי ה Data.. ואת ה INSERT לעשות בעזרת סקריפט. (לפחות אלו שעובדים עם windows-1255 כמוני).
הסקריפט בעצם לוקח את כל הטבלאות בדאטה בייס ומכין קובץ שעושה INSERT לכל המידע בהתאם לטבלאות
שכבר קיימות.
הסקריפט:
PHP קוד:
<?php
require('conf.php');
$query=mysql_list_tables($db_name);
while ($rec = mysql_fetch_array($query)) {
$qq=mysql_query("SELECT * FROM ".$rec[0]." ORDER BY id DESC");
while ($ww=mysql_fetch_array($qq)) {
$count=count($ww)/2-1; $values='';
for ($i=0; $i<=$count; $i++) $values.="'".$ww[$i]."',"; $strlen=strlen($values);
$intofile.="INSERT INTO `".$rec[0]."` VALUES (".substr($values,0,$strlen-1).")\n";
}
}
$openfile=fopen("sql/backup_db_".date("d-m-y.His", time()).".sql", "x");
fwrite($openfile, $intofile);
fclose($openfile);
echo "done!";
?>
את הסקריפט שקרוא את הקובץ sql ומבצע INSERT אני משאיר לכם, אתם בטוח יודעים
וזהו, מקווה שעזרתי, לי לפחות זה שימושי מאוד ועובד מצויין.
* חשוב לפתוח תיקיה sql, לשם הוא מכניס את כל הגיבויים.