Php 如何在查询中正确使用变量?postgresql

Php 如何在查询中正确使用变量?postgresql,php,postgresql,Php,Postgresql,这很好用 $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'"); 这就抛出了这样一个问题: 2016

这很好用

$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'");
这就抛出了这样一个问题:

2016-04-27 07:20:47警告:pg_query():查询失败:错误:语法 “07”第13行或其附近出现错误:。。。开始日期=2016-04-27 07:20:47^ 在第102行的/home/haris/public_html/project/DAL_General.php中


结肠有问题吗?我需要逃避吗?如果是,怎么做?我在谷歌上搜索过,但没有找到任何关于冒号的内容。

我在学习数据库工作时也遇到过同样的问题,但您需要在
”中进行查询-然后在引用变量或数据时,您需要将其放入
,例如:

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");
这不会像:

$test_query = type_of_connection_query("SELECT * FROM users WHERE id = '1'");
当然,有时你不需要引号,比如引用
限制

$text_query = type_of_connection_query("SELECT * FROM users WHERE id = 1");

您的日期必须在引号内。你需要改变

$text_query = type_of_connection_query("SELECT * FROM users WHERE id = '1' LIMIT 1");


要了解更多有关引号的信息,请检查

将其用作单引号内的日期
date_start='$sessionStart'
!我是php新手,我甚至没有想到这一点,这是可能的。你能回答一下,这样我就可以将其标记为正确吗?
FROM 
cash_table_session_summary 
WHERE 
date_start = $sessionStart
FROM 
cash_table_session_summary 
WHERE 
date_start = '$sessionStart'// add quotes here