При работе с PDO PHP вызов execute в подготовленном операторе, как представляется, полностью зависает при выполнении сценария. PDO инициализируется следующим образом:Выполнение PHP PDO выполняется зависанием
$db = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_PERSISTENT, false);
Насколько я знаю, присоединительные работы не выполнить точную никаких признаков того, учитывая, что она выходит из строя. Затем, позже, я вызываю «готов», а затем выполняю, и выполнение, похоже, останавливается.
echo "Hi"; //executes
$username = mysql_real_escape_string($_POST['username']);
echo "Still Here"; //executes
$password = md5(mysql_real_escape_string($_POST['password']));
echo "So far so good"; //executes
$stmt = $db->prepare("SELECT * FROM users WHERE Username=:username");
echo "Still good"; //executes
$stmt.execute(array(':username' => $username));
echo "Nope..."; //doesn't execute
if($stmt->rowCount() >= 1)
{
echo "Sorry, that username is already taken.";
}
Я не уверен, что именно происходит, что вызывает эту ошибку, однако помощь в фиксации будет понятно.
change '$ stmt.execute (array (': username' => $ username));' to '$ stmt-> execute (array (': username' => $ username)); ' –