繁体   English   中英

我正在尝试使用 php 从 html 输入到 mysql 获取单个值(电子邮件地址)

[英]I'm trying to get a single value (an email address) from a html input to mysql using php

$host = "localhost";
$dbname = "";
$username = "";
$password = "";
$db = mysql_connect($host, $username, $password);
        
  if (mysql_error() > "") print mysql_error() . "<br>";
  mysql_select_db($dbname, $db);
  if (mysql_error() > "") print mysql_error() . "<br>";

  $email = $_POST["email"];
  // Inserting these values into the MySQL table
  // we created above
  $query = "INSERT INTO Emails-prelaunch (Email) VALUES (" . $email . "')";
  $result = mysql_query($query);
  // mysql_query() is a PHP function for executing
  // MySQL queries
  echo "<p>Thank you for entering an email!</p>";

这是迄今为止所做的,但它给了我 HTTPs 500 错误或插入值行中的语法错误

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// prepare and bind
$stmt = $conn->prepare("INSERT INTO prelaunch (Email) VALUES (?)");
$stmt->bind_param("s", $email);

// set parameters and execute
$email = "john@example.com";

$stmt->execute();

如果您不想使用准备好的语句(即使您应该使用),则只缺少一个 ' 字符,因为 $email 是一个 String :

插入电子邮件 - 启动前(电子邮件)值( '" . $email . "')"

在测试阶段,您可以将以下代码添加到文件的开头并找出错误的原因。

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM