Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.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 将数据插入数据库PDO错误_Php_Mysql_Pdo - Fatal编程技术网

Php 将数据插入数据库PDO错误

Php 将数据插入数据库PDO错误,php,mysql,pdo,Php,Mysql,Pdo,我试图在用户登录到服务器后从他们那里获取登录详细信息。我已尝试使用此选项: $conn = new PDO("mysql:host=localhost;dbname=user_login",'root',''); global $dbh; $stmt = $dbh->prepare("INSERT INTO login_details (browser, date_time, ip_address, username) VALUES (:browser, :date_time,

我试图在用户登录到服务器后从他们那里获取登录详细信息。我已尝试使用此选项:

  $conn = new PDO("mysql:host=localhost;dbname=user_login",'root','');
  global $dbh;
  $stmt = $dbh->prepare("INSERT INTO login_details (browser, date_time, ip_address, username) VALUES (:browser, :date_time, :ip_address, :username)");
  $stmt->bindParam(':browser', $browser);
  $stmt->bindParam(':date_time', $date_time);
  $stmt->bindParam(':ip_address', $ip_address);
  $stmt->bindParam(':username', $username);

  $browser = 'one';
  $value = $_SERVER["HTTP_USER_AGENT"];
  $stmt->execute();

  $date_time = 'one';
  $value = date('l jS \of F Y h:i:s A');
  $stmt->execute();

  $ip_address = 'one';
  $value = $_SERVER['REMOTE_ADDR'];
  $stmt->execute();

  $username = 'one';
  $value = $name;
  $stmt->execute();
对不起,如果我完全弄错了,我对这个完全陌生


谢谢

在您的脚本中,您正在使用
$conn
作为连接到数据库的对象,那么您为什么要使用全局
$dbh
。只需使用
$conn
代替
$dbh

,正如另一个答案中所述,您需要与对PDO对象的调用保持一致。使用
$conn
代替
$dbh
,反之亦然

当前代码还多次执行SQL查询,特别是每次调用
$stmt->execute()
。在大多数情况下,您甚至还没有为绑定参数指定值

您的
$value
变量也没有找到标记。只需将所需的值分配给
bindParam
调用中指定的变量即可

试试这个

$conn = new PDO("mysql:host=localhost;dbname=user_login",'root','');
$stmt = $conn->prepare("INSERT INTO login_details (browser, date_time, ip_address, username) VALUES (:browser, :date_time, :ip_address, :username)");

$stmt->bindParam(':browser', $browser);
$stmt->bindParam(':date_time', $date_time);
$stmt->bindParam(':ip_address', $ip_address);
$stmt->bindParam(':username', $username);

$browser = $_SERVER["HTTP_USER_AGENT"];
$date_time = date('l jS \of F Y h:i:s A');
$ip_address = $_SERVER['REMOTE_ADDR'];
$username = $name;

$stmt->execute();