Php 无法计数mysql中的行数
我的代码出错了。我不知道为什么会发生这种情况,而且我无法得到受影响的行数。 我在我的tbl_项目中有200条记录。为了避免冗余记录,我实现了一个简单的代码来避免这种情况。但它不起作用Php 无法计数mysql中的行数,php,mysql,Php,Mysql,我的代码出错了。我不知道为什么会发生这种情况,而且我无法得到受影响的行数。 我在我的tbl_项目中有200条记录。为了避免冗余记录,我实现了一个简单的代码来避免这种情况。但它不起作用$count=0始终$count为零 <?php //class Database class Database { private $username; private $pass; private $server; private $database; public function __constr
$count=0
始终$count
为零
<?php
//class Database
class Database
{
private $username;
private $pass;
private $server;
private $database;
public function __construct(){
$this->username='root';
$this->pass='';
$this->server='localhost';
$this->database='my_db';
$this->initial_db();
}
public function initial_db(){
$con = mysql_connect($this->server, $this->username, $this->pass) or die( 'unable to connect to database');
$db=mysql_select_db($this->database, $con);
if(!$db)
die('unable to select db');
}
public function insert($row){
for($i=0;$i<count($row);$i++){
$status = 2;
$remoteAddr = 0;
$query = "INSERT INTO tbl_item_events SET publish_date = '".date("Y-m-d H:i:s")."', approved_date = '".date("Y-m-d H:i:s")."', user_id = '300'";
$query.= ", creation_date='".date("Y-m-d H:i:s")."', status= '".$status."', ip_address ='".$remoteAddr."'";
foreach($row[$i] as $key => $value)
{
$query.=", ".$key."='".$value."' ";
}
if($this->avoid_redundace($row[$i]['title']))
$result= mysql_query($query);
}
}
public function avoid_redundace($title){
$query='SELECT title FROM tbl_item_events WHERE title="'.$title.'"';
$result= mysql_query($query);
$count=mysql_num_rows($result);
if($count>0)
return FALSE;
return TRUE;
}
}
?>
请注意mysql\u connect已贬值,请改用mysqli\u connect,在mysql\u查询中,您应该将数据库连接对象作为参数传递。检查手册我建议您检查mysql\u查询的返回值。如果是result===FALSE
则查询中有错误。除此之外,使用mysqli或pdo,在任何情况下都要准备好查询。@Vigikaran<代码>结果
不是false
。我的函数avoid_redundant
有问题,它不检查标题是否存在。当我运行查询时,它会再次插入所有记录,我不需要它。如果($result=mysql\u query($query)&&mysql\u num\u rows($result)>0){//在$result}中有结果,否则{//没有结果,请尝试此}请注意,mysql\u connect已贬值,请改用mysqli\u connect。在mysql\u查询中,您应该将数据库连接对象作为参数传递。请检查手册。我建议您检查mysql\u查询的返回值。如果是result===FALSE
则查询中有错误。除此之外,使用mysqli或pdo,在任何情况下都要准备好查询。@Vigikaran<代码>结果
不是false
。我的函数avoid_redundant
有问题,它不检查标题是否存在。当我运行查询时,它会再次插入所有记录,我不需要它。如果($result=mysql\u query($query)&&mysql\u num\u rows($result)>0){//在$result}中有结果,否则{//没有结果,请尝试此}