Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql限制删除检查_Php_Mysql - Fatal编程技术网

Php 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限制 只有在删除查询有效时,我才需要运行更新查询(见下文)。 我试过:

我有一个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)
是你在结果中调用它的便笺,不是所需的连接对象。