警告:mysqli_num_rows()正好需要1个参数,给出2

时间:2017-05-23 08:23:21

标签: php mysqli

我得到这样的错误:

  

警告:mysqli_num_rows()只需要1个参数,在

中给出2

任何人都可以帮助我吗?

我得到了这样的代码:

     <?php
        include('rf_koneksi.php');
        $result = mysqli_query($rf_koneksi, "SELECT * FROM pemesanan");
        $htngdata = mysqli_num_rows($rf_koneksi,$result);
        if (isset($_POST['pesan'])) {
            $tanggal_pesan = date('Y-m-d');        
            $jumlah = $_POST['jumlah'];
            $kode_barang = $_POST['rf_kode_baju'];
            $rf_email = $_POST['email'];

            for($i=0;$i<$htngdata;$i++){
                $jml = $jumlah[$i];
                if($jumlah[$i] >0){
                    $id_barang = $kode[$i];
                    mysqli_query($rf_koneksi, "INSERT INTO pesanan(rf_kode_baju, rf_tanggal_pemesanan, rf_jumlah_pemesanan, rf_email_pemesanan) VALUES('$kode_barang','$tanggal_pesan','$jumlah','$rf_email') ");
                }
            }

            }else{  //jika tidak terdeteksi tombol tambah di klik
                //redirect atau dikembalikan ke halaman tambah
                echo '<script>window.history.back()</script>';
            }

        ?>

2 个答案:

答案 0 :(得分:1)

如错误所述,that function expects one parameter。你给了它两个:

mysqli_num_rows($rf_koneksi,$result)

相反,只要给它寻找的那个:

mysqli_num_rows($result)

注意:另请注意,您的代码全开 SQL注入。以这种方式编写代码时,允许用户在数据库中任意执行他们想要的任何代码。这可能是有问题的,即使是彻头彻尾的恶意。使用预准备语句和SQL参数,而不是允许用户输入来管理数据库查询。基本上,将用户输入视为而不是代码。这是开始讨论这个主题的好地方:How can I prevent SQL injection in PHP?

答案 1 :(得分:0)

mysqli_num_rows 只接受一个参数 mysqli_result ,因此您需要从通话中删除连接$ rf_koneksi。

变化:

import tensorflow as tf

x1 = tf.random_uniform([1], 0, 10, tf.int32)
y1 = tf.random_uniform([1], 0, 10, tf.int32)

subtraction = x1 - y1

with tf.Session() as sess:
    print(sess.run([x1, y1, subtraction]))

为:

$htngdata = mysqli_num_rows($rf_koneksi,$result);

请参阅http://php.net/manual/en/mysqli-result.num-rows.php了解语法和示例。