|
|
|
ปัญหาการใส่ single quote ' ลงใน mysql ถ้าเราอยากจะ insert ข้อความที่มี ' ลงไปจะต้องทำอย่างไรบ้างครับ |
|
|
|
|
|
|
|
ผมลองใช้ function addslashes แ้ล้วทำไม ผมพิมพ์ 'test' ไปแต่มันดันเก็บข้อมูลเป็น \'test\' ครับ?
|
|
|
|
|
Date :
2009-03-03 14:30:38 |
By :
september |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนเรียกข้อมูลมาแสดงอย่าลืมใช้คำสั่ง
Code (PHP)
<?
stripcslashes();
?>
นะครับ
|
|
|
|
|
Date :
2009-03-03 14:47:02 |
By :
zepherus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือไม่อยากให้มันเก็บเจ้า \ เลย จะสามารถทำได้ไหมครับ
|
|
|
|
|
Date :
2009-03-03 14:51:27 |
By :
september |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เก็บเป็น HTML ได้ไหมอ่ะครับ ถ้าไม่อยากให้มี \
' แทนที่ '
|
|
|
|
|
Date :
2009-03-03 15:20:48 |
By :
p_latplee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รู้สึกว่า ถ้าเก็บเป็น ' เลย มันจะไปสับสันกับ คำสั่ง คิวรี่ นะครับ ทางที่ดี ใส่ \ ด้วยดีกว่า ตอนแสดงก็เขียนโค้ดเอาออก ไม่งั้นมันจะ แอดลง db ไม่ได้ครับ
|
|
|
|
|
Date :
2009-03-03 15:23:28 |
By :
aprodise |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่อยากเก็บเป็น HTML ครับ คือยากเก็บเป็นข้อความเฉยๆ
สรุปคือใส่ ' เฉยๆไม่ได้ใช่ไหมครับ
|
|
|
|
|
Date :
2009-03-03 15:31:23 |
By :
september |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ครับ เวลาเอาออก ก็ stripcslashes();
ออก ก็ไม่เห็นเจ้า \ แล้วละครับ
|
|
|
|
|
Date :
2009-03-03 15:52:33 |
By :
aprodise |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเคครับ ขอบคุณทุกๆท่านที่เข้ามาช่วยนะครับ
|
|
|
|
|
Date :
2009-03-03 16:00:40 |
By :
september |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โง่แล้วไม่พยายามเข้าใจ
ควายดีๆเนี่ยเอง
|
|
|
|
|
Date :
2009-10-07 13:52:45 |
By :
ดูถามแล้วควายมาก |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
echo get_magic_quotes_gpc(); // 1
echo $_POST['lastname']; // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
// If using MySQL
$lastname = mysql_real_escape_string($lastname);
echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>
|
|
|
|
|
Date :
2011-01-21 14:02:34 |
By :
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$lastname = htmlspecialchars($lastname);
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
|
|
|
|
|
Date :
2011-01-21 14:56:29 |
By :
popypreaw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมยังไม่ลอง MySql นะครับ แต่พอดีผมใช้ MS-SQL แล้วติดปัญหาคล้ายๆ กันเลยลองทำแบบนี้ดูแล้วได้ผลแบบที่ต้องการครับ
จับ ' (Single quote) ลง MS-SQL Base ได้แล้ว..
ผิดพลาดยังไงขออภัยครับ..
Code
<html>
<head>
<title>จับ Single Quote ลง MS-SQL Base</title>
</head>
<body>
<form name='form1' action='add_quote.php' method='post'>
<input type='text' name='quote' size='50'>
<input type='submit' value='submit'>
</form>
<?php
if ($_POST[quote]<>'') {
echo $_POST[quote]."<br/>";
$quote = str_replace("\'", "'", $_POST[quote]);
echo $quote."<br/>";
include "config.inc.php";
$connection_string = "DRIVER={SQL Server};SERVER=$servername;DATABASE=$databasename;AutoTranslate=Yes";
$objConnect = odbc_connect($connection_string,$user, $pass);
$strSQL = "insert into tb_quote (col_quote) values ('$quote')";
echo $strSQL."<br/>";
/* SQL CMD TO Replace *******************************************************
UPDATE tb_quote SET col_quote = REPLACE(col_quote, ''', '''')
/* SQL CMD TO Replace ********************************************************/
$objExec = odbc_exec($objConnect, $strSQL) or die ("Errand Execute [".strSQL."]");
$replacestr="UPDATE quote SET quote = REPLACE(quote, ''', '''')";
$objExec = odbc_exec($objConnect, $replacestr) or die ("Errand Execute [".replacestr."]");
}
?>
</body>
</html>
|
|
|
|
|
Date :
2014-03-26 21:10:35 |
By :
pnptoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลืมบอกไปครับ
ของผม ตอน Query กลับมาใช้งานไม่ได้เรียกจาก php ครับ ใช้ VB จึงไม่มีปัญหาเรื่องการเอาข้อมูลกลับมาใช้ครับ
ทำ web app php เพื่อเอาลง Base MS-SQL แล้ว VB นำข้อมูลไปใช้งานอีกทีอ่ะครับ
|
|
|
|
|
Date :
2014-03-26 21:20:33 |
By :
pnptoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|