【问题标题】:How to send data from SELECT to INSERT如何将数据从 SELECT 发送到 INSERT
【发布时间】:2022-11-30 14:43:42
【问题描述】:

我不知道如何将 $device_dep 选定的数据放入 INSERT。

    $fprint_id = (int)$_GET['fprint_id'];
    $device_uid = $_GET ['device_uid'];
    $serialnumber = (int)$_GET['serialnumber'];

    $stmtdevice_dep = $conn->prepare("SELECT device_dep FROM devices WHERE device_uid = $device_uid LIMIT 1");
    //*PHP magic*
    $sqlINSERTquery = "INSERT INTO users (fprint_id, serialnumber, user_date, device_uid, device_dep, del_f, add_f) 
        VALUES ($fprint_id, $serialnumber, CURDATE(), $device_uid, $device_dep, 0, 1 LIMIT 1)";



    $db->query($sqlINSERTquery);

MySQL结构

CREATE TABLE `devices` (
  `id` int(11) NOT NULL,
  `device_name` varchar(50) CHARACTER SET latin1 NOT NULL,
  `device_dep` varchar(20) CHARACTER SET latin1 NOT NULL,
  `device_uid` text CHARACTER SET latin1 NOT NULL,
  `device_date` date NOT NULL,
  `device_mode` tinyint(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

我试过这个,我不知道怎么做

   $stmtdevice_dep  = $conn->prepare("SELECT device_dep FROM devices WHERE device_uid = $device_uid");
    $stmtdevice_dep->execute();
    $resultdevice_dep = $stmtdevice_dep->get_result()->fetch_all();

    print_r($resultdevice_dep);

【问题讨论】:

  • print_r($stmtdevice_dep) 看看查询的结果是什么
  • 你试过什么,你被困在哪里?
  • print_r($stmtdevice_dep) 什么也没返回

标签: php mysql


【解决方案1】:

你可以获得价值设备部门从 sql 结果使用 $stmtdevice_dep['device_dep'](如果 sql 查询以对象格式返回响应)也可以直接用于insert sql查询

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2015-07-16
    • 2019-03-11
    • 2014-07-02
    • 2021-08-23
    相关资源
    最近更新 更多