Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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 类内的MySQLi语句_Php_Mysqli - Fatal编程技术网

Php 类内的MySQLi语句

Php 类内的MySQLi语句,php,mysqli,Php,Mysqli,我在stackoverflow上读了几个关于类内pdo语句的帖子,但是我似乎找不到适合我的例子的 我有以下资料: <?php class Tracking { public function trackVisit($conversion){ $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); if ($db->connect_error) { die("Connec

我在stackoverflow上读了几个关于类内pdo语句的帖子,但是我似乎找不到适合我的例子的

我有以下资料:

<?php
class Tracking
{
  public function trackVisit($conversion){

    $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
    if ($db->connect_error) {
      die("Connection failed: " . $conn->connect_error);
    } 
    $ipaddress = $_SERVER['REMOTE_ADDR']; 
    echo $ipaddress;
    $page = "{$_SERVER['HTTP_HOST']}";  
    echo $page;
    if(isset($_SERVER['HTTP_REFERER'])){
      $referrer = $_SERVER['HTTP_REFERER']; 
    }else{
      $referrer="none";
    }
    echo $referrer;
    $datetime = mktime(); 

    echo $datetime;
    $useragent = $_SERVER['HTTP_USER_AGENT']; 
    echo $useragent;
    $convers = $conversion;
    echo $convers;

    $stmt = $db->prepare("SELECT IP FROM analytics WHERE IP = ?");
    $stmt->bind_param("s", $ipaddress);
    $stmt->execute();
    $stmt -> bind_result($theip);
    while($stmt->fetch()) {
      $theip2 = $theip;
    }
    $result = $stmt->num_rows;
    echo $result;
    $stmt -> close();
    //check if ip address is already on db
    if($result == "1") {
      echo "ya existe la ip";
    }else{
      echo "no existe";

      $stmt = $db->prepare("INSERT INTO analytics(IP, PAGE, REFERRER, USER_AGENT, DATE, CONVERTED) VALUES(?, ?, ?, ?, ?, ?)"); //Fetching all the records with input credentials
      var_dump($stmt);
      $stmt->bind_param("sssssi", $ipaddress, $page, $referrer, $useragent, $datetime, $convers); //Where s indicates string type. You can use i-integer, d-double
      $stmt->execute();
      $result = $stmt->affected_rows;
      echo $result;
      $stmt -> close();

    }

    $db -> close(); 

  }
}
?>

添加了以下代码

if(!$stmt->execute()) {
    echo "Error: " . mysqli_error($db);
}else{
    echo "Success";
}

它显示了一个数据库字段有问题,它对于我插入的信息来说太短了。

您使用的是MySQLi,而不是pdouch!我在学习哈哈,似乎我误解了PDO是什么哈哈。谢谢我看不出这有什么明显的问题。你能更详细地描述一下这个问题吗?当然,菲尔,它没有把数据插入数据库。基本上什么都没发生,也找不到原因。