$result = pg_query(Postgres::getInstance(), "SELECT
date_start,
date_end,
cnt_hands,
cnt_hands_won,
amt_won,
id_session,
id_player,
amt_won
FROM
cash_table_session_summary
WHERE
date_start = '2016-04-27 07:20:47'");
这很有效。
echo $sessionStart;
$result = pg_query(Postgres::getInstance(), "SELECT
date_start,
date_end,
cnt_hands,
cnt_hands_won,
amt_won,
id_session,
id_player,
amt_won
FROM
cash_table_session_summary
WHERE
date_start = $sessionStart");
这引发了这个:
2016-04-27 07:20:47警告:pg_query():查询失败:错误:语法 错误在“07”或附近第13行:... date_start = 2016-04-27 07:20:47 ^ 在第102行的/home/haris/public_html/project/DAL_General.php
冒号有问题吗?我需要以某种方式逃脱吗?如果是这样,怎么样?我谷歌但没有发现逃避冒号。
答案 0 :(得分:1)
我在学习数据库工作时遇到了同样的问题,但您需要在""
中进行查询 - 然后在引用变量或数据时需要将其放入'
的例子:
$test_query = type_of_connection_query("SELECT * FROM users WHERE id = '1'");
这不会像:
$text_query = type_of_connection_query("SELECT * FROM users WHERE id = 1");
当然有时你不需要引号,比如引用LIMIT
的
$text_query = type_of_connection_query("SELECT * FROM users WHERE id = '1' LIMIT 1");
答案 1 :(得分:1)
您的日期必须在引号内。你需要改变
FROM
cash_table_session_summary
WHERE
date_start = $sessionStart
要
FROM
cash_table_session_summary
WHERE
date_start = '$sessionStart'// add quotes here
要了解有关引号的更多信息,请选中When to use single quotes, double quotes, and backticks in MySQL