gpt4 book ai didi

php - 如何在插入查询中使用 mysqli_result 中的字符串?

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

我已经搜索并尝试了不同的解决方案大约 3 个小时,现在我正在放弃并发布这个问题。

我有以下代码;

<?php
include 'db.php';


$trackcd = $_GET['trackCD'];
$trackTitle = $_GET['trackTITLE'];
$duration = $_GET['secDuration'];

$artIDD = mysqli_query($conn, "SELECT artID FROM cd WHERE cdID=$trackcd");
$results = mysqli_query($conn, "SELECT artID, artName FROM artist WHERE artID=$artIDD");
$row = mysqli_fetch_assoc($results);

$sql = "INSERT INTO tracks (trackID, artID, artistName, trackCD, trackTITLE, secDuration) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('iisssi', $trackID, $artIDD, $row["artName"], $trackcd, $trackTitle, $duration);
$result = $stmt->execute();
if(!$result) echo "Failed";
//header('Location: tracks.php');
?>

但在第 10 行;$results = mysqli_query($conn, "从艺术家中选择 artID, artName WHERE artID=$artIDD");

我收到以下错误消息;

Catchable fatal error: Object of class mysqli_result could not be converted to string in D:\xampp\htdocs\dashboard\inserttrack.php on line 10.

这些查询每个都使用一个主键,并且只返回一个结果,这是我稍后的 INSERT 查询所需要的。我之前看过的大多数问题都建议创建一个循环,但我不知道这对我有什么帮助,因为我只得到一个我想稍后使用的结果,并且不需要打印出来。

mysqli_query 和 $row = mysqli_fetch_assoc($results); 的使用是我从类似问题中学到的东西,但它们并没有解决我的问题。

最佳答案

您的第二次尝试向我们展示了正确的做法。只需绑定(bind)从 fetch_assoc() 获取的变量即可。

此代码应如下所示:

$stmt = $conn->prepare('SELECT artID FROM cd WHERE cdID=?');
$stmt->bind_param('s', $trackcd);
$stmt->execute();
$results = $stmt->get_result();
$row = $results->fetch_assoc();
$artIDD = $row['artID'] ?? null;

$stmt = $conn->prepare('SELECT artID, artName FROM artist WHERE artID=?');
$stmt->bind_param('s', $artIDD);
$stmt->execute();
$results = $stmt->get_result();
$row = $results->fetch_assoc();

$sql = "INSERT INTO tracks (trackID, artID, artistName, trackCD, trackTITLE, secDuration) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('iisssi', $trackID, $artIDD, $row["artName"], $trackcd, $trackTitle, $duration);
$result = $stmt->execute();

当然,如果您使用联接或子查询在一个查询中完成这一切,那就更好了。

关于php - 如何在插入查询中使用 mysqli_result 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43741815/

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