Php Mysql限制删除检查
我有一个mysql数据库,带有限制删除设置。 我有这个删除查询:Php Mysql限制删除检查,php,mysql,Php,Mysql,我有一个mysql数据库,带有限制删除设置。 我有这个删除查询: if(isset($_POST['delete_id'])) { $sqldelete="DELETE FROM tblAcqDetail WHERE ID=".$_POST['delete_id']; $resultdelete = $conn->query($sqldelete); } 如何检查查询是否删除了任何内容或是否受mysql限制 只有在删除查询有效时,我才需要运行更新查询(见下文)。 我试过:
if(isset($_POST['delete_id']))
{
$sqldelete="DELETE FROM tblAcqDetail WHERE ID=".$_POST['delete_id'];
$resultdelete = $conn->query($sqldelete);
}
如何检查查询是否删除了任何内容或是否受mysql限制
只有在删除查询有效时,我才需要运行更新查询(见下文)。
我试过:
我也试过了
if ($resultdelete->num_rows > 0) {
而且:
if ($resultdelete) {
以上所有操作都会停止执行更新查询。您可以使用
从文档中:
返回受上次插入、更新、替换或删除查询影响的行数
注意,这是在连接对象上运行的,而不是结果。因此,请使用$conn->infected_rows
,而不是您可以使用的$resultdelete->infected_rows
从文档中:
返回受上次插入、更新、替换或删除查询影响的行数
注意,这是在连接对象上运行的,而不是结果。因此,使用
$conn->infected_rows
而不是$resultdelete->infected_rows
,而不是将$resultdelete
传递到mysqli_infected_rows
您实际上想要传递数据库链接(由mysqli_connect返回),该链接将为您提供受上一次查询影响的行数
$sqldelete="DELETE FROM tblAcqDetail WHERE ID=".$_POST['delete_id'];
$resultdelete = $conn->query($sqldelete);
if ($conn->affected_rows > 0) {// pass db link here
阅读而不是将
$resultdelete
传递到mysqli\u受影响的\u行
您实际上想要传递数据库链接(由mysqli\u connect返回),该链接将给出受上一次查询影响的行数
$sqldelete="DELETE FROM tblAcqDetail WHERE ID=".$_POST['delete_id'];
$resultdelete = $conn->query($sqldelete);
if ($conn->affected_rows > 0) {// pass db link here
阅读如果($resultdelete->Infected_rows>0)您将语法与
>0
位一起使用,则说明您使用了错误的
- 连接被传递到函数,而不是从结果集中传递
RTM
面向对象风格
int$mysqli->受影响的行代码>
程序风格
int mysqli\u受影响的行(mysqli$link)
从手册中:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);
$mysqli->query("ALTER TABLE Language ADD Status int default 0");
/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);
/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);
/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);
$result->close();
/* Delete table Language */
$mysqli->query("DROP TABLE Language");
/* close connection */
$mysqli->close();
?>
Procedural style
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (!$link) {
printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
exit();
}
/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));
mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");
/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));
/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));
/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));
mysqli_free_result($result);
/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");
/* close connection */
mysqli_close($link);
?>
程序风格
如果($resultdelete->Infected_rows>0)
您将语法与>0
位一起使用,则使用它是错误的
- 连接被传递到函数,而不是从结果集中传递
RTM
面向对象风格
int$mysqli->受影响的行代码>
程序风格
int mysqli\u受影响的行(mysqli$link)
从手册中:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);
$mysqli->query("ALTER TABLE Language ADD Status int default 0");
/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);
/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);
/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);
$result->close();
/* Delete table Language */
$mysqli->query("DROP TABLE Language");
/* close connection */
$mysqli->close();
?>
Procedural style
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (!$link) {
printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
exit();
}
/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));
mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");
/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));
/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));
/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));
mysqli_free_result($result);
/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");
/* close connection */
mysqli_close($link);
?>
程序风格
你的问题是你引用了错误的东西
if ($resultdelete->affected_rows> 0) {
但是
只有(我的)
失败时返回FALSE。为了成功地选择、显示、描述或解释查询,mysqli_query()将返回一个mysqli_结果对象对于其他成功的查询,mysqli_query()将返回TRUE
您想引用连接本身以了解受影响的行数
if ($conn->affected_rows> 0) {
你的问题是你引用了错误的东西
if ($resultdelete->affected_rows> 0) {
但是
只有(我的)
失败时返回FALSE。为了成功地选择、显示、描述或解释查询,mysqli_query()将返回一个mysqli_结果对象对于其他成功的查询,mysqli_query()将返回TRUE
您想引用连接本身以了解受影响的行数
if ($conn->affected_rows> 0) {
如果情况应该是
if ($conn->affected_rows> 0){}
不是
如果情况应该是
if ($conn->affected_rows> 0){}
不是
答:mysqli\u infected\u rows()
如果($resultdelete->infected\u rows>0)
RTM^包括我在内的许多人都给出了答案,那么你用错了。你可以选择任何一个来结束这个问题。选择权在你。答:mysqli\u受影响的行()
如果($resultdelete->infected\u rows>0)
RTM^包括我在内的许多人都给出了答案,那么你就用错了。你可以选择任何一个来结束这个问题。选择权归你。我不知道如何使用它,我想如果($resultdelete->Infected_rows>0)
是你在结果中调用它的便笺,而不是所需的连接对象。我不知道如何使用它,我想如果($resultdelete->Infected_rows>0)
是你在结果中调用它的便笺,不是所需的连接对象。