我正在通过 ODBC Filemaker 表使用 mysql 进行更新。
当字段包含 o'reilly 或 example'two 时,我收到此错误消息:
警告:odbc_exec():SQL 错误:[FileMaker][FileMaker] FQL0001/(1:80):
查询的语法有错误,第49行C:\fm_1.php中SQLExecDirect中的SQL状态42000
并且使用 addslashes() 不起作用。
谢谢!
这是我的代码:
<?php
$conn = odbc_connect("DSN=Server;Database=TEST;UID=odbc;PWD=1234", "odbc", "1234");
if ($conn)
echo "\nConnection established.";
else
die("\nConnection could not be established.");
$result = odbc_exec($conn, "SELECT ID_MH, MH_Name FROM myTable WHERE MH_Name LIKE '%EXAMPLE'");
while ($row = odbc_fetch_array($result)) {
$ID_MH = $row["ID_MH"];
$MH_Name = $row["MH_Name"];
// do something
$MH_Name = addslashes($MH_Name);
$update = "UPDATE myTable SET MH_Name='$MH_Name' WHERE ID_MH=" . $ID_MH;
$data_update = odbc_exec($conn, $update);
}
odbc_close($conn);
?>
最佳答案
尝试转义而不是使用 addslashes:
"UPDATE myTable SET MH_Name=\"$MH_Name\"WHERE ID_MH=". $ID_MH;
关于php - 使用 MYSQL 通过 ODBC 更新 Filemaker Pro,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41286262/