标签: mysql-num-rows

使用mysql_fetch_array,我可以轻松计算返回的行数.我可以用mysql_fetch_object做类似的事情吗?

(如果有必要道歉 - 我的第一个Stack Overflow问题.如果有人有建议,我会很乐意修改它.我已经找到了答案,但我担心我对术语的掌握不够好,无法完成搜索.)

我习惯使用mysql_fetch_array从数据库中获取记录.当以这种方式获取记录时,mysql_num_rows给出了行数.但是,在我当前的项目中,我正在使用mysql_fetch_object.mysql_num_rows似乎不适用于此函数,当我对查询结果进行"计数"时,我得到了预期的答案:1(一个对象).

有没有办法'看到'对象并计算其中的元素?

php mysql oop mysql-num-rows

7
推荐指数
1
解决办法
3万
查看次数

mysql_num_rows()php - 它有效吗?

SELECT在PHP页面上有几个语句,我使用Dreamweaver生成这些语句.

在完成它生成的代码之后,似乎有很多可以在大多数情况下切掉的绒毛,mysql_num_rows()每个语句的一行都是一个例子.

所以我想知道是否有人可以告诉我这是否实际上节省了资源 - 考虑到查询是否正在运行,是否有任何实际开销?


更新:在遵循Chriszuma关于microtime的建议之后,以下是我的结果:

//time before running the query
1: 0.46837500 1316102620

//time after the query ran
2: 0.53913800 1316102620

//time before calling mysql_num_rows()
3: 0.53914200 1316102620

//time after mysql_num_rows()
4: 0.53914500 1316102620 
Run Code Online (Sandbox Code Playgroud)

所以似乎没有多少开销

php mysql performance mysql-num-rows

6
推荐指数
1
解决办法
488
查看次数

laravel中的mysql_num_rows?

我试图在laravel中使用mysql_num_rows,但laravel说它与'raw php'不一样

例:

$users = DB::table('users')
         ->where('username', '=', $username)
         ->where('password', '=', $password)
         ->get();
Run Code Online (Sandbox Code Playgroud)

我想做的事:

$count = mysql_num_rows($users);

   if($count > 0 ){

      $user->login = $request->login;
      $user->email = $request->email;
      $user->password = $request->password;

      Auth::login($user);
      return redirect("/");
      }else{
         return "datos incorrectos";
      }
Run Code Online (Sandbox Code Playgroud)

什么laravel说:

Call to undefined function App\Http\Controllers\Auth\mysql_num_rows()
Run Code Online (Sandbox Code Playgroud)

PD:它不是代码哲学只是为了对这个问题做出评价,我不想要像"你要加密这个东西吗?","为什么不使用[插入我的法布里特ORM]"这样的答案只是一个简单的问题谢谢

sql mysql-num-rows laravel laravel-query-builder

6
推荐指数
1
解决办法
8031
查看次数

PHP- mysqli->num_rows 总是返回 0,准备好的语句

首先,我想告诉您,我已经解决了所有重复的问题。并尝试了那里建议的更改。

到目前为止,我已经尝试更改num_rowsnum_rows() And using store_result();And using affected_rows()

store_result();之后还打电话execute()

我认为可能还有其他一些我无法弄清楚的问题

$conn->autocommit(false);   
if ($sucess){
    $stmt2 = $conn->prepare("UPDATE e_eventqueue SET e_urlfil=? WHERE e_id=? 
AND u_id=?");
    $stmt2->bind_param("iis",$e_urlfil,$e_id,$u_id);

    if($stmt2->execute()){
         $stmt2->store_result();
        echo "true";
        echo $stmt2->num_rows;  // <- this always return 0 even when its not
        $stmt2->close();
        $conn->commit();
    }
 else{
      $conn->rollback();
     echo "rollback";
  }

}
Run Code Online (Sandbox Code Playgroud)

php mysqli prepared-statement mysql-num-rows sql-update

6
推荐指数
1
解决办法
1803
查看次数

PHP MySQLi num_rows始终返回0

我已经构建了一个利用PHP内置MySQLi类功能的类,它旨在简化数据库交互.但是,使用OOP方法,在运行查询后,num_rows实例变量返回正确的行数时遇到困难.看看我班上的快照......

class Database {
//Connect to the database, all goes well ...

//Run a basic query on the database
  public function query($query) {
  //Run a query on the database an make sure is executed successfully
    try {
    //$this->connection->query uses MySQLi's built-in query method, not this one
      if ($result = $this->connection->query($query, MYSQLI_USE_RESULT)) {
        return $result;
      } else {
        $error = debug_backtrace();

        throw new Exception(/* A long error message is thrown here */);
      }
    } catch (Exception $e) {
      $this->connection->close();

      die($e->getMessage());
    } …
Run Code Online (Sandbox Code Playgroud)

php mysql oop mysqli mysql-num-rows

5
推荐指数
1
解决办法
2万
查看次数

如何检查mysql_query是否返回任何内容

可能重复:
mysql_fetch_array()期望参数1是资源,在select中给出boolean

所以我试图检查以下查询是否返回任何结果

  $numUsersSameRatingQuery="SELECT * `user ratings` WHERE  category='$category' AND categoryId='$categoryId' AND  `userAromaRating`>0 ";

  $result=mysql_query($numUsersSameRatingQuery);

   $numResults=mysql_num_rows($result);

  if($numResults==0)
  {
   // do the INSERT INTO
  }
  else
  {
   //do the UPDATE SET
  }
Run Code Online (Sandbox Code Playgroud)

但是,上面返回以下错误,并且if($numResults)每次都执行.换句话说,我永远无法else运行该块.

这是错误

 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\boozeDb\profileThis.php on line 141
Run Code Online (Sandbox Code Playgroud)

帮助表示赞赏.

php mysql mysql-num-rows

4
推荐指数
1
解决办法
4876
查看次数

mysqli_stmt_num_rows($ stmt)总是返回0?

我正在为我的Web应用程序创建一个登录脚本,并且我正在尝试使用它$count = mysqli_stmt_num_rows($stmt);来查找从sql select语句返回的行数,因此我可以决定是否应该启动会话.

问题是,$ count始终为0,即使我输入与我的数据库中的数据匹配的有效用户名和密码.我已经测试了select语句,它运行正常.没有给出错误,语法,SQL或其他内容,所以我对于发生什么事情感到有些困惑.

码:

<?php

    $link = mysqli_connect("localhost", "****", "****", "****");

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

    // username and password sent from form 
    $myusername=$_POST['myusername'];   
    $mypassword=$_POST['mypassword']; 

// Move to MySQL(i) as MySQL is now obslete and use Prepare statment for protecting against SQL Injection in better and easier way
    $stmt = mysqli_prepare($link, 'SELECT username, password FROM `users` WHERE  `username` =  ? AND  `password` =  ?');

    /* bind parameters for markers …
Run Code Online (Sandbox Code Playgroud)

php session mysqli mysql-num-rows

3
推荐指数
1
解决办法
2393
查看次数

PHP和MySQL:返回的行数

如何查看以下查询返回的行数?

mysql_select_db($database_aoldatabase, $aoldatabase);

$query1 = "select * from sale where secid  = $invoiceno ";
$query2 = "select * from sale where secid  = $invoiceno ";


$maxa = mysql_query ($query1)
    or die ("Query '$query' failed with error message: \"" . mysql_error () . '"');
$maxa2 = mysql_query ($query2)
    or die ("Query '$query' failed with error message: \"" . mysql_error () . '"');

$row = mysql_fetch_array($maxa);
$row2 = mysql_fetch_array($maxa2);
Run Code Online (Sandbox Code Playgroud)

php mysql sql mysql-num-rows

2
推荐指数
2
解决办法
2万
查看次数

正确的方法来询问PHP中的mysql_num_rows

因为如果没有返回行,mysql_num_rows返回false,最好是这样做:

$query = mysql_query("SELECT id FROM table WHERE something = 'this'"); 
$result = mysql_num_rows($query);

if ($result) { }
Run Code Online (Sandbox Code Playgroud)

或者我应该这样做:

if ($result >= 1) { }
Run Code Online (Sandbox Code Playgroud)

php mysql mysql-num-rows

2
推荐指数
1
解决办法
2万
查看次数

PDO相当于mysql_num_rows或mssql_num_rows

我知道之前已经问过这个问题,但似乎解决方案已经针对所提出的问题.

我有一个包含数百个实例的代码库,其中使用了mssql_num_rows.

代码示例:

$db->execute($sql);

if ($db->getRowsAffected() > 0) {
    $total = $db->fetch();
Run Code Online (Sandbox Code Playgroud)

在db类中:

$this->rowsaffected = mssql_num_rows($this->query_result);
Run Code Online (Sandbox Code Playgroud)
  • 我无法创建通用SELECT count(*) FROM table查询,因为我有太多特定的select语句.
  • 我可以运行一个preg_replace删除之间的所有内容SELECT and FROM,然后用a替换COUNT(*)并运行第二个查询,但这假设所有查询都以某种方式设置.
  • 我可以fetchAllcount()得到结果,但这意味着要升级if语句的所有实例.

那么如果人们将他们的代码更新为PDO,那么替换为*_num_rows函数的最佳方法是什么呢?不是解决特定问题的东西,而是取代*_num_rows功能的东西.如果那是不可能的,那之前是什么让它成为可能呢?

php mysql sql-server pdo mysql-num-rows

2
推荐指数
1
解决办法
1086
查看次数