我一直在关注一个关于PHP框架的视频系列,我遇到了一个奇怪的结构.我只是想知道它叫什么,所以我可以再读一遍.在视频中,扬声器提供此代码
public function edit($id = NULL)
{
$id == NULL || $this->data['user'] = $this->user_m->get($id);
...
}
Run Code Online (Sandbox Code Playgroud)
他说,如果调用者没有传递id,那么$ id将设置为null,如果传递了$ id,则将从数据库中检索用户并将其保存在数据数组中.
事实是,这是一个条件陈述,但它不在if或while或类似的东西里面.我以前从未见过这个.我搜索了内联或在循环/ if语句之外的条件,奇怪的语法没有成功.就像我说的,我想了解更多关于它的信息,并找出它是一般的PHP特性还是特定于框架的.
谢谢.
我正在尝试使用MySQL网站.net的mysql连接器,从C#运行查询到MySQL(5.5.27版)。
我正在开发的.dll的最终目标是跟踪已读取的行。
我用来读取数据库的查询是:
string strSQL = "SELECT date,ask,bid,volume FROM gbpjpy where `read` = 0";
Run Code Online (Sandbox Code Playgroud)
要阅读日期,我有:
DateTime dateTime = mysqlReader.GetDateTime(0);
Run Code Online (Sandbox Code Playgroud)
很好
该表有5列,最后一列称为“读取”。在选择查询和解析完成后,我立即执行以下查询:
string sqlFormattedDate = dateTime.ToString("yyyy/MM/dd HH:mm:ss");
string query = "UPDATE gbpjpy SET `read` = 1 WHERE `date` = " + sqlFormattedDate;
Run Code Online (Sandbox Code Playgroud)
但是,当我检查日志时,出现以下错误:
您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以在第1行的“ 01:20:08”附近使用正确的语法。
读入的第一个日期是2012/08/30 01:20:08(这就是它在MySQL表中的显示方式,因此它就是从01:20:08获得的位置)。
我尝试了var sqlFormattedDate,将ToString重载更改为yyyy-MM-dd(使用破折号而不是正斜杠)和dateTime.ToString()全部无效。
为什么MySQL不选择整个字符串?