Я новичок в PHP / MySQL, пытаюсь вставить данные в таблицу через форму, но я продолжаю получать это:
Соединение успешно ОШИБКА: не удалось выполнить INSERT INTO foo (имя, фамилия, стационарный, мобильный) ЗНАЧЕНИЯ ('', '', ',').
Мое ограниченное понимание говорит мне, что я подключаюсь успешно, но ничего не происходит в таблице.Проверка таблицы подтверждает это.
Я пытаюсь отправить данные с сервера WHMCS PHP 7.1 на удаленный хост, на котором работает MySQL 5.1.73.Я извлекаю идентификатор пользователя из WHMCS и предварительно заполняю это поле идеей отправить его вместе с остальными данными формы.Мне присвоили это поле «скрытый» и «текст», не повезло.
Я даже скопировал / вставил форму в отдельный html и попытался запустить все в корне.Не повезло.
Я использовал этот пример в качестве руководства.
form.tpl:
<form method="post" action="includes/action.php">
User ID:<input type ="text" name = "userid" value={$d} readonly> //pulls userID from WHMCS
First name:<input type="text" name="firstname">
Last name:<input type="text" name="lastname">
Landline:<input type="text" name="landline">
Mobile:<input type="text" name="mobile">
<input type="submit" value="Submit"></form>
dbconnect.php:
$servername = "fqdn.com";
$username = "few";
$password = "2many";
try {
$conn = new PDO("mysql:host=$servername;dbname=data_base", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
action.php:
//Open MySql Connection
include "dbconnect.php";
// prepare sql and bind parameters
$stmt = $conn->prepare("INSERT INTO foo (userid, firstname, lastname, landline, mobile) VALUES (:userid, :firstname, :lastname, :landline, :mobile)");
$stmt->bindParam(':userid', $userid);
$stmt->bindParam(':firstname', $firstname);
$stmt->bindParam(':lastname', $lastname);
$stmt->bindParam(':landline', $landline);
$stmt->bindParam(':mobile', $mobile);
// insert a row
$userid = $_POST["userid"];
$firstname = $_POST["firstname"];
$lastname = $_POST["lastname"];
$landline = $_POST["landline"];
$mobile = $_POST["mobile"];
$stmt->execute();
echo "New records created successfully";
} catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
$conn = null;