หากมีการติดตั้ง PHP ในเครื่องที่คุณใช้คุณสามารถเขียนสคริปต์ PHP เพื่อทำเช่นนั้น มันต้องการการติดตั้ง PHP ที่มีการติดตั้งส่วนขยายของ MySQL
คุณสามารถเรียกล่าม PHP จากบรรทัดคำสั่งดังนี้:
php --php-ini path/to/php.ini your-script.php
ฉันรวม--php-ini
สวิตช์ไว้ด้วยเพราะคุณอาจต้องใช้การกำหนดค่า PHP ของคุณเองเพื่อเปิดใช้งานส่วนขยาย MySQL ใน PHP 5.3.0+ ส่วนขยายนั้นเปิดใช้งานตามค่าเริ่มต้นดังนั้นจึงไม่จำเป็นต้องใช้การกำหนดค่าเพื่อเปิดใช้งานอีกต่อไป
จากนั้นคุณสามารถเขียนสคริปต์ส่งออกเช่นเดียวกับสคริปต์ PHP ปกติ:
<?php
#mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
$result = mysql_query("SELECT * FROM table_with_the_data p WHERE p.type = $typeiwant");
$result || die(mysql_error());
while($row = mysql_fetch_row($result)) {
$comma = false;
foreach ($row as $item) {
# Make it comma separated
if ($comma) {
echo ',';
} else {
$comma = true;
}
# Quote the quotes
$quoted = str_replace("\"", "\"\"", $item);
# Quote the string
echo "\"$quoted\"";
}
echo "\n";
}
?>
ข้อดีของวิธีนี้คือไม่มีปัญหากับ varchar และฟิลด์ข้อความที่มีข้อความที่มีการขึ้นบรรทัดใหม่ ฟิลด์เหล่านั้นมีการอ้างอิงอย่างถูกต้องและบรรทัดใหม่ในนั้นจะถูกตีความโดยผู้อ่าน CSV เป็นส่วนหนึ่งของข้อความไม่ใช่ตัวคั่นบันทึก นั่นคือสิ่งที่ยากที่จะถูกต้องหลังจากนั้นsedหรือดังนั้น
REPLACE()
ในแบบสอบถามของคุณเพื่อให้คำพูดหลุดออกมาได้