gpt4 book ai didi

php - Mysql插入和选择查询一起转换为mysqli

转载 作者:行者123 更新时间:2023-11-29 11:58:00 25 4
gpt4 key购买 nike

我有一个 MySQL 查询,效果很好,但是当我尝试将其转换为 MySQLI 时,我无法让它工作:工作 SQL 查询

<?php 
require_once( 'opendb.php' );
$id = '105';
// Start date
$date = '2015-11-10';
// End date
$end_date = '2015-11-15';

while (strtotime($date) <= strtotime($end_date)) {

$sql= "insert into test (Id,date,hours)
select Id,
'".$date."' as date,
case dayname('".$date."')
when 'Sunday' then Sun
when 'Monday' then Mon
when 'Tuesday' then Tue
when 'Wednesday' then Wed
when 'Thursday' then Thu
when 'Friday' then Fri
when 'Saturday' then Sat
else 0 end as hours
from emp where Id = '".$id."'";
mysql_query($sql);
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}?>

不确定当同一查询中存在 select 和 insert 时如何使用 Mysqli 准备语句。

MYSQL 不工作,不确定如何让它工作

  <?php 
$mysqli = new mysqli('localhost', 'xx', 'xx', 'xxx');
$id = '105';
// Start date
$date = '2015-11-10';
// End date
$end_date = '2015-11-15';
$stmt = $mysqli->prepare('INSERT INTO `test` (`Id`, `date`,`hours`) VALUES (?, ?, ?)');
while (strtotime($date) <= strtotime($end_date)) {

$sql= "select Id,
'".$date."' as date,
case dayname('".$date."')
when 'Sunday' then Sun
when 'Monday' then Mon
when 'Tuesday' then Tue
when 'Wednesday' then Wed
when 'Thursday' then Thu
when 'Friday' then Fri
when 'Saturday' then Sat
else 0 end as '".$hours."'
from emp where Id = 105 ";
$mysqli->query($sql);;
$stmt->bind_param('sss', $id , $date, $hours);
$stmt->execute();
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
?>

我了解如何在插入语句中使用准备,但不知道如何在插入和选择语句一起使用时

select 语句从表 1 中获取当天的工作时间,例如 id Mon = 8 Tue = 6 Wed = 4 Thu= 0 Fri = 6 Sat = 7 Sun = 0 并将它们插入到测试表中

最佳答案

看起来您正在使用 sql 中的 select 来进行日期格式化。您可以改为在 PHP 中进行日期格式化。这将使 mysqli 插入一个普通的插入。

关于php - Mysql插入和选择查询一起转换为mysqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869886/

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