Php 使用MYSQL通过ODBC更新Filemaker Pro
我正在使用mysql over ODBC Filemaker表进行更新。Php 使用MYSQL通过ODBC更新Filemaker Pro,php,mysql,filemaker,Php,Mysql,Filemaker,我正在使用mysql over ODBC Filemaker表进行更新。 当字段包含o'reilly或示例'two时,我会收到以下错误消息: 警告:odbc_exec():SQL错误:[FileMaker][FileMaker]FQL0001/(1:80): 在C:\fm_1.php的第49行的SQLExecDirect中,查询的语法中有一个错误 并且使用addslashes()不起作用 谢谢大家! 这是我的代码: <?php $conn = odbc_connect("DSN=Serve
当字段包含o'reilly或示例'two时,我会收到以下错误消息: 警告:odbc_exec():SQL错误:[FileMaker][FileMaker]FQL0001/(1:80):
在C:\fm_1.php的第49行的SQLExecDirect中,查询的语法中有一个错误 并且使用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\“其中ID_MH=”$ID_MH 尝试转义,而不是使用addslashes:
“UPDATE myTable SET MH_Name=\”$MH_Name\“其中ID_MH=”$ID_MH 以下是解决方案:
$query = 'UPDATE myTable SET MH_Name=? WHERE ID_MH=?';
$stmt = odbc_prepare ($conn, $query);
$success = odbc_execute($stmt, array($MH_Name, $ID_MH));
资料来源:
谢谢 以下是解决方案:
$query = 'UPDATE myTable SET MH_Name=? WHERE ID_MH=?';
$stmt = odbc_prepare ($conn, $query);
$success = odbc_execute($stmt, array($MH_Name, $ID_MH));
资料来源:
谢谢 MySQL在这里真的相关吗?发布的代码似乎只通过ODBC处理FMP数据库。解决此问题的正确方法是使用ODBC\u prepare()/ODBC\u execute()
,而不是在SQL语句中使用变量ODBC\u exec()
。但您应该验证FMP是否支持准备好的语句。MySQL在这里真的相关吗?发布的代码似乎只通过ODBC处理FMP数据库。解决此问题的正确方法是使用ODBC\u prepare()/ODBC\u execute()
,而不是在SQL语句中使用变量ODBC\u exec()
。但您应该验证FMP是否支持准备好的语句。