gpt4 book ai didi

php - Yii: php -> 无法在 SiteController 中执行 SQL 命令

转载 作者:可可西里 更新时间:2023-11-01 08:45:07 25 4
gpt4 key购买 nike

我在提交 _form.phpSiteController.php 时遇到了一些问题,会出现这个错误信息,

“CDbCommand 无法执行 SQL 语句:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;”

它无法运行查询。也尝试使用另一个查询命令,错误是相同的。

网站 Controller .php

public function actionCreate()
{
$model = new Detail;
if (isset($_POST['Detail'])) {
// print_r($_POST['Detail']);
$model->attributes = $_POST['Detail'];
$connection = Yii::app()->db;

$data = date('Y-m-d');
$date = "'" . $data . "'";
$teach_id = Yii::app()->user->getId();

$i = 1;
foreach ($_POST['Detail'] as $stud=>$status)
{
$sql = 'INSERT INTO {{detail}} (`id`, `student_id`, `teacher_id`, `date`, `status`) VALUES
(NULL, ' . $stud . ',' . $teach_id . ',' . $date . ', ' . $i . ' );';


$command = $connection->createCommand($sql);
$exec = $command->query();
}
if ($exec) {
$this->redirect(array('index'));
}
}
$this->render('create', array('model' => $model, ));
}

最佳答案

尝试将 {{detail}} 替换为真实的表名,并对整个字符串使用双引号,对每个变量使用单引号

"INSERT INTO {{detail}}
(`id`, `student_id`, `teacher_id`, `date`, `status`)
VALUES
(NULL, '$stud', '$teach_id', '$date', '$i');"

替换

$date = "'" . $data . "'";

$date = $data;

并且您在不同情况下使用 $_POST 数组的相同键

$model->attributes = $_POST['Detail'];
...
foreach ($_POST['Detail'] as $stud => $status)

关于php - Yii: php -> 无法在 SiteController 中执行 SQL 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31169915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com