function insertNewBidPrice($code, $newBidPrice)
{
global $conn;
$sql = "update auctionitem set highestbid=$newBidPrice where code=$code";
//echo $sql;
if($conn->query($sql))
{
return 1;
}
else
{
require 0;
}
}
我有这个 php 函数,尽管更新查询成功更新了表,但结果始终为 0。
我使用 PDO。
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
首先使用prepare创建一个statement对象。
$stmt = $conn->prepare($sql);
$worked = $stmt->execute();
if ($worked == TRUE) {
//I did stuff
} else {
// nope
}
function insertNewBidPrice($code, $newBidPrice) {
global $conn;
// write your query
$sql = "UPDATE auctionitem SET highestbid='$newBidPrice' WHERE code='$code'";
// run the query
$result = $conn->query($sql);
// check the result of the query
if ($result == true) {
// it was a success
return 1;
} else {
return 0;
}
}
global $conn;
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "my_db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else {
// it worked
}
给你,这应该可以解决问题。我注意到你在 if else 语句中说“需要 0”,它需要返回。除此之外,我不确定你的问题,但我能想到两种可能性。
还要检查您是否选择了正确的表格等。在你的 SQL 中。
我面临着同样的挑战,试图知道更新是否成功,但对于 mysqli 来说,即使没有任何更新,更新也是如此。 如果您需要知道某些行是否已更新,最好的方法是使用
$mysqli->affected_rows
这将返回更新的行数,但请注意,如果您使用相同的值更新且没有错误,您将收到 0。 如果您有一个名为 value 的字段,其值为“1000”,并且您的查询是 Update table set value='1000',它将返回 0 个受影响的行,但执行查询时没有错误。