select filemaker 中的日期通过 odbc
select date in filemaker over odbc
我尝试在 PHPMyAdmin 上 select 通过 odbc 的日期字段来更新 FileMaker 上的日期字段。但我收到一个错误:
连接 established.PHP 警告:odbc_exec():SQL 错误:[FileMaker][FileMaker] FQL0001/(1:15):表达式包含不兼容的数据 types.There 是一个错误在查询语法中,SQL state HY000
这是我的代码:
$conn = odbc_connect("DSN=server;Database=MyDatabase;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, MyDate FROM MyTable WHERE MyField LIKE '8'");
MyDate 是一种日期格式,我认为 "MyDate" 应该用 "strval" 转换成字符串。
但是怎么办?
谢谢!
+1 @fortune 和@michael.hor257k
myDate 字段没有问题 - 您只是选择了它。
问题出在你的 WHERE 子句上
如果您使用 LIKE,则需要添加带有通配符的模式。请参阅提供的 link @fortune。
如果您想匹配 MyField 设置为 8 的记录,您应该使用
WHERE MyField ='8'
但是您遇到的错误很可能是因为您匹配的是字符串 8 而不是数字 8 - 当您用单引号将数字引起来时会发生这种情况。
所以 MyField 必须是文本字段,否则您需要删除 8
左右的单引号
我尝试在 PHPMyAdmin 上 select 通过 odbc 的日期字段来更新 FileMaker 上的日期字段。但我收到一个错误:
连接 established.PHP 警告:odbc_exec():SQL 错误:[FileMaker][FileMaker] FQL0001/(1:15):表达式包含不兼容的数据 types.There 是一个错误在查询语法中,SQL state HY000
这是我的代码:
$conn = odbc_connect("DSN=server;Database=MyDatabase;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, MyDate FROM MyTable WHERE MyField LIKE '8'");
MyDate 是一种日期格式,我认为 "MyDate" 应该用 "strval" 转换成字符串。
但是怎么办?
谢谢!
+1 @fortune 和@michael.hor257k
myDate 字段没有问题 - 您只是选择了它。
问题出在你的 WHERE 子句上
如果您使用 LIKE,则需要添加带有通配符的模式。请参阅提供的 link @fortune。
如果您想匹配 MyField 设置为 8 的记录,您应该使用
WHERE MyField ='8'
但是您遇到的错误很可能是因为您匹配的是字符串 8 而不是数字 8 - 当您用单引号将数字引起来时会发生这种情况。 所以 MyField 必须是文本字段,否则您需要删除 8
左右的单引号