Использование метода $ _GET не сохранит правильное значение в базе данных

Я пытался создать раздел комментариев для моего сайта, используя PHP5, однако, когда я пытаюсь использовать метод $ _GET, он сохраняет неправильное значение в столбце базы данных. Первоначально я просто использовал $ _GET [‘pageid’], но это хранить NULL вместо целого числа, потому что $ _GET [‘pageid’] имеет строковый тип данных.

Затем я начал использовать (int) $ _ GET [‘pageid’], который будет хранить целое число, но неправильное значение. Это будет хранить 0 каждый раз. Я знаю, что у других людей была такая же проблема, как у меня, но я не нашел жизнеспособного решения.

Я могу получать комментарии из моей базы данных и публиковать их на соответствующих страницах, используя $ _GET [‘pageid’] после ручной вставки целых чисел в столбец pageID.

Если это имеет какое-то значение, я использую Webmatrix 3 с MySQLi и PHP5. Заранее спасибо!

    if (isset($_POST['submit']))
{
$pageid = (int)$_GET['pageid'];
$username = $_SESSION['username'];
$comment = $_POST['comment'];
$query = "INSERT INTO comments (pageID, username, comment) VALUES (?, ?, ?)";

$statement = $databaseConnection->prepare($query);
$statement->bind_param('iss', $pageid, $username, $comment);
$statement->execute();
$statement->store_result();

if ($statement->error)
{
die('Database query failed: ' . $statement->error);
}

$creationWasSuccessful = $statement->affected_rows == 1 ? true : false;
if ($creationWasSuccessful)
{
header ("Location: index.php");
}
}

0

Решение

Если вы CAST строки в целое число, оно станет 0, если строка имеет числа в начале, только эти числа будут преобразованы в целое число, а также если строка начинается с пробела Пример: — «12word», результат будет 12

проверьте эти примеры

$str = 'Hello World 12';
$int = (int)$str;
echo $int; // 0$str = 'Hello World';
$int = (int)$str;
echo $int; // 0$str = 'Hello 12 World';
$int = (int)$str;
echo $int; // 12

$str = '12Hello World';
$int = (int)$str;
echo $int; // 12

Проверьте эту ссылку, чтобы получить больше идей. http://www.phpf1.com/tutorial/php-string-to-int.html

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]