Каждый раз, когда я отправляю форму своего веб-сайта, он создает только новый идентификатор. Но все остальное значение пустое, что мне делать?
<?php error_reporting(E_ALL);ini_set('display_errors',1); $servername = "localhost"; $username = "seamaszhou"; $password = "123456"; $dbname = "guest"; $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // prepare sql and bind parameters $stmt = $conn->prepare("INSERT INTO guest (guestName,guestEmail,guestContent) VALUES (:guestName, :guestEmail, :guestContent)"); $stmt->bindParam(':guestName', $guestName); $stmt->bindParam(':guestEmail', $guestEmail); $stmt->bindParam(':guestContent', $guestContent); // insert a row $guestName = "$guestName"; $guestContent = "$guestContent"; $guestEmail = "$guestEmail"; $stmt->execute(); ?>
Потому что вы не устанавливаете никаких значений. Когда вы это сделаете:
$guestName = "$guestName";
Переменная $guestName
устанавливается в строку, содержащую текущее значение переменной $guestName
. Поскольку он ничего не содержит, вы просто устанавливаете его на пустую строку.
Используйте фактические значения. Например:
$guestName = "Some name";
Или, если вы буквально хотели, чтобы это имя переменной являлось строкой, используйте одиночные кавычки, чтобы он не интерпретировался как переменная:
$guestName = '$guestName';