Php 如何检查mysql更新查询是否成功?
我有一个php函数,虽然update query成功地更新了表,但始终结果为0 我使用PDOPhp 如何检查mysql更新查询是否成功?,php,mysql,pdo,Php,Mysql,Pdo,我有一个php函数,虽然update query成功地更新了表,但始终结果为0 我使用PDO function insertNewBidPrice($code, $newBidPrice) { global $conn; $sql = "update auctionitem set highestbid=$newBidPrice where code=$code"; //echo $sql; if($conn->query($sql)) { return 1;
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;
}
}
首先使用prepare创建语句对象
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
给你,这个应该可以。我注意到您在if-else语句中说需要0,它需要返回。除此之外,我不确定你的问题,但有两种可能性我可以想到
您的$conn变量无效。检查它是否具有正确的凭据,请参阅$conn->connect\u错误行,它在我编写的代码中,但也在这里:。
查询可能不正确。就我个人而言,我用大写字母等格式化所有内容。当我这样做时,我的文本编辑器会给它上色,我很容易看到什么是什么。此外,SQL语句中的变量周围没有引号,如果它是整数也可以,但如果意外传递字符串,则会失败。
还要检查您是否选择了正确的表格ect。在您的SQL中。否则{require 0;}您在这里犯了一些错误返回0或require 0?@AkshayParate噢!很抱歉我将其更改为return但未解决。是否可以使用$conn->query$sql?使用$conn->query返回一个PDO语句对象,您试图将其计算为TRUE\false。我在另一个地方遇到问题。我的方法也有效。conn不是无效的,它是有效的。
$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
}