首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP & MySQL TRUNCATE TABLE返回false

PHP & MySQL TRUNCATE TABLE返回false
EN

Stack Overflow用户
提问于 2011-06-26 20:09:41
回答 2查看 2.6K关注 0票数 0

我看过其他主题,但我不知道这里出了什么问题。例如,如果我用一个简单的SELECT *替换TRUNCATE查询,我确实会得到结果。但这将返回false。我从这个主题复制了以下代码,希望得到一个结果:PHP & MySQL: Truncate multiple tables

我正在通过AMFPHP来做这件事。

代码语言:javascript
复制
# the host used to access DB
define('DB_HOST', 'localhost');

# the username used to access DB
define('DB_USER', 'usr');

# the password for the username
define('DB_PASS', '***');

# the name of your databse
define('DB_NAME', 'name');

//$connection = new __database(DB_HOST,DB_USER,DB_PASS,DB_NAME);


$connection = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);

if (mysqli_connect_errno())
{
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "TRUNCATE TABLE `books`";

$result = $connection->query($query);
if($result)
{
    return $result;
}
else
{
    return false;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-26 20:26:37

MySQL用户是否具有截断表所需的权限?从MySQL文档中:

从MySQL 5.1.16开始,

TRUNCATE需要DROP权限。( 5.1.16之前,需要DELETE权限)。

编辑:没有权限将会产生某种类型的错误--您是否正在记录或能够看到任何查询错误?

票数 2
EN

Stack Overflow用户

发布于 2011-06-26 20:30:45

根据文档,“截断操作不会为删除的行数返回有意义的值。通常的结果是”0行受影响“,这应该被解释为”无信息“。请参阅http://dev.mysql.com/doc/refman/5.0/en/truncate-table.html

因此,即使截断成功,if语句看起来也会沿着else路径运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6483791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档