gpt4 book ai didi

php - 我的插入语句(php 到 mysql)无法使用我的变量

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

这一定是最简单的错误,但我没有看到也没有找到它。

我用值 7 填充变量 $aa_minerid。我在插入中使用这个变量。插入总是在数据库中插入 0(零),而不是 7

我放入的字段是 smallint(6)我试过了

VALUES ('$aa_productid')
VALUES ($aa_productid)
VALUES ("$aa_productid")
VALUES ('{$aa_productid}')
VALUES ("{$aa_productid}")

以及所有使用 ` 的内容放入后面放置的脚本中。

如果我放在那里:VALUES (7)它确实工作完美。

那么我在这个脚本中做错了什么?顺便说一句,最后的回显确实显示了变量 $aa_productid 的正确值

<?php

/* This php script should transfer data from the aa to the sql database */

// Info coming from aa

$aa_productid = 7 ;

include ("dogs.inc");

$cxn=mysqli_connect($host,$user,$passwd,$dbname);

$query = 'SELECT * FROM `Price` WHERE '
. ' `Time_Stamp`=(select max(`Time_Stamp`) from `Price` where `Product_ID` = \'1\')';

$result=mysqli_query($cxn,$query) or
die("Couldn't execute select query");

$row = mysqli_fetch_row($result);

$aa_price=$row[3] ;

$aa_value = $aa_price * $aa_amount;

// Info ready to go to database

$sqlinsert = 'INSERT INTO Mining (Product_ID)'
. ' VALUES ( $aa_productid )' ;

echo $aa_productid;

最佳答案

单引号在 PHP 中不进行变量扩展。但我建议您使用准备好的语句,例如:

$stmt = $cxn->prepare('INSERT INTO Mining (Product_ID) VALUES ( ? )');
$stmt->bind_param('i', $aa_productid);
$stmt->execute();

请参阅 prepare 处的文档和 bind_param .

这将保护您免受 SQL injection 的侵害.

关于php - 我的插入语句(php 到 mysql)无法使用我的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5007722/

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