我做了一个非常简短的PHP。
输出是json中的数组。然而,它不起作用。
数组项始终为null。
我想它必须与错误地调用db table columns
有关('id' => $row->MASTER_ID
)。
而{' MASTER_ID
'是我的数据库中列的名称。
如果有人能指出我正确的方向,我会很高兴。 我的脚本如下所示:
<?php
$db = new PDO('mysql:host=xxx;dbname=xx;charset=utf8mb4', 'xx', 'xxx');
$month = date('Y-m');
$monthwild = "$month%";
$sql = ("SELECT * FROM MASTER WHERE START_DATE LIKE '". $monthwild ."'");
$out = array();
foreach($db->query($sql) as $row) {
$out[] = array(
'id' => $row->MASTER_ID,
'title' => $row->MASTER_TITLE,
'start' => strtotime($row->MASTER_START),
'end' => strtotime($row->MASTER_END)
);
}
echo json_encode(array('success' => 1, 'result' => $out));
exit;
?>
我是PDO的新手(曾经用mysql做过这样的事情)和
我还没有得到它并且没有找到合适的资源
答案 0 :(得分:1)
trait Delivery[T] {
def form(): Form[T]
}
object NewPost extends Delivery[NewPostValidator] {
def form(): Form[NewPostValidator] = Form(mapping(
"town" -> nonEmptyText,
"number" -> number)(NewPostValidator.apply)(NewPostValidator.unapply))
}
“执行一条SQL语句,将结果集作为PDOStatement对象返回,”不是一行。
您必须将结果放在变量中,然后从此变量中检索行:
PDO::query
或者,您可以设置默认提取模式,然后使用以下内容检索单行:
$result = $db->query( $sql );
while( $row = $result->fetchObject() )
{
(...)
}
实际上,直接$result = $db->query( $sql );
$result->setFetchMode( PDO::FETCH_OBJ );
while( $row = $result->fetch() )
{
(...)
}
也有效,但没有特定的获取模式,它会返回枚举和关联结果:
foreach
要使用直接foreach( $db->query( $sql ) as $row )
{
$id = $row['MASTER_ID'];
// $id = $row[0]; // ← Alternative
}
的对象,您必须使用以下语法:
foreach
答案 1 :(得分:1)
我说你对$ monthwild的定义是错误的。 你想要写的正确的符号是: $ monthwild = $ month。&#34;%&#34 ;; 在你的脚本中是$ monthwild的内容字符串&#34; $ month%&#34; 现在是$ monthwild字符串%
的内容我希望你能理解这一点。 它不容易描述。