PHP не должен искать внутри строк между одинарными кавычками, в отличие от двойных кавычек.Однако в моей строке запроса mysqli я помещаю переменные в список значений в одинарных кавычках, и это работает - значения переносятся из формы ввода в мой mysql в XAMPP.Это означает, что он должен быть внутри одинарных кавычек, чтобы определить, что там есть переменная и подставить значения в разделе значения запроса mysqli, что не должно быть.
Я бы подумал, что в запрос будут подставлены только двойные скобки, содержащие переменные, но на самом деле все наоборот - они НЕ работали!Я был вынужден преобразовать их обратно в одинарные кавычки, что не должно работать, но работает.
Например, когда все переменные PHP в разделе значений запроса mysql были определены ранее из формы ввода html, следующее полностью работает и вставляет данные формы в мою базу данных:
$host = 'localhost';
$user = 'root';
$pw = '';
$db = 'aliensdb';
$dbc = mysqli_connect($host, $user, $pw, $db);
$table = 'alien_abductions';
$query = "INSERT INTO $table (
first_name,
last_name,
when_it_happened,
how_long,
how_many,
alien_description,
what_they_did,
fang_spotted,
other,
email)
VALUES (
'$first_name',
'$last_name',
'$when_it_happened',
'$how_long',
'$how_many',
'$alien_description',
'$what_they_did',
'$fang_spotted',
'$other',
'$email'
)";
$result = mysqli_query($dbc, $query) or die('Error querying database.');
mysqli_close($dbc);
Этоработает, и переменные помещаются в значения, успешно вставленные, поскольку новая строка в моей базе данных нарушает законы PHP - или нет?В каких случаях PHP нарушает правило «одинарные скобки не анализируются» и / или правило «двойные скобки анализируются»?
Спасибо :)