Insert BIT value in MySQL using PDO Prepared Statement

user1032531

How do I insert a BIT value in MySQL using a PDO Prepared Statement? Below is what I tried and my results.

<?php
function testIt($value)
{
    $sql='INSERT INTO test(id,data) VALUES(?,?)';
    $stmt=db::db()->prepare($sql);
    $stmt->execute(array(0,$value));
    $id=db::db()->lastInsertId();

    $sql='SELECT * FROM test WHERE id='.$id;
    $stmt=db::db()->query($sql);
    $rs=$stmt->fetch(PDO::FETCH_ASSOC);
    echo("Test for {$value} returns id {$rs['id']} and data {$rs['data']}<br>");
}

date_default_timezone_set('America/Los_Angeles');
ini_set('display_errors', 1);
error_reporting(E_ALL);
require_once('../../ayb_private/dbase.php');

$sql='CREATE TEMPORARY TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, data BIT(8) NOT NULL DEFAULT 00000000, PRIMARY KEY (id) )';
$stmt=db::db()->exec($sql);

testIt('b"01010101"');
testIt('b01010101');
testIt('01010101');
testIt(0x55);
testIt("b'01010101'");
?>

RESULTS:

Test for b"01010101" returns id 1 and data 255
Test for b01010101 returns id 2 and data 255
Test for 01010101 returns id 3 and data 255
Test for 85 returns id 4 and data 255
Test for b'01010101' returns id 5 and data 255
bishop

Not near a terminal to check, but I believe you have to type bind it to INT and send it in as an INT, not as "b010101" (or whatever):

$sql='INSERT INTO test(id,data) VALUES(:id,:bit)';
$stmt=db::db()->prepare($sql);
$stmt->bindValue('id', null, PDO::PARAM_NULL);
$stmt->bindValue('bit', (int)$value, PDO::PARAM_INT);
$stmt->execute();

Quick check on Google brought up this similar previous answer.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

INSERT not working with PDO prepared statement

From Dev

java mysql database insert using prepared statement

From Dev

MySQL PDO Name-Value Prepared Statement Using Last Parameter Only

From Dev

Why is this prepared insert into MySql with PDO inserting wrong value?

From Dev

PDO MYSQL Prepared Update Statement using PHP Not executing

From Dev

PDO Prepared statement insert 1 instead of string

From Dev

PHP MySQL - How to insert default value in a prepared statement

From Dev

PHP PDO MySQL count() prepared statement

From Dev

Using Arrays in a PDO UPDATE Prepared statement

From Dev

Using prepared PDO statement with PHP - binary numbers

From Dev

Using prepared PDO statement with PHP - binary numbers

From Dev

Inserting data to mysql database using PDO with direct insert statement

From Dev

Inserting data to mysql database using PDO with direct insert statement

From Dev

PHP - MySQL prepared statement to INSERT an array

From Dev

Cannot insert UTC_TIMESTAMP() with pdo prepared statement

From Dev

How to escape a string to insert into MySQL via PDO *without* using prepared statements (legacy app)

From Dev

PDO prepared statement trouble

From Dev

PDO Prepared Statement Function

From Dev

PDO prepared statement security

From Dev

PDO Prepared Statement Function

From Dev

PDO Prepared Statement with % and Limit

From Dev

Idiorm pdo prepared statement

From Dev

Using prepared statement in Rails to insert multiple rows

From Dev

PDO how do I set a datetime value to NULL in a prepared statement?

From Dev

PDO how do I set a datetime value to NULL in a prepared statement?

From Dev

how to insert multiple rows in MySQL without inserting blank row using prepared statement

From Dev

Is using PDO prepared statement and htmlspecialchars enough to prevent XSS and SQL injection?

From Dev

If statement is not working when inserting data using PHP PDO Prepared statements

From Dev

Getting error after submitting data using prepared statement with PDO connection

Related Related

  1. 1

    INSERT not working with PDO prepared statement

  2. 2

    java mysql database insert using prepared statement

  3. 3

    MySQL PDO Name-Value Prepared Statement Using Last Parameter Only

  4. 4

    Why is this prepared insert into MySql with PDO inserting wrong value?

  5. 5

    PDO MYSQL Prepared Update Statement using PHP Not executing

  6. 6

    PDO Prepared statement insert 1 instead of string

  7. 7

    PHP MySQL - How to insert default value in a prepared statement

  8. 8

    PHP PDO MySQL count() prepared statement

  9. 9

    Using Arrays in a PDO UPDATE Prepared statement

  10. 10

    Using prepared PDO statement with PHP - binary numbers

  11. 11

    Using prepared PDO statement with PHP - binary numbers

  12. 12

    Inserting data to mysql database using PDO with direct insert statement

  13. 13

    Inserting data to mysql database using PDO with direct insert statement

  14. 14

    PHP - MySQL prepared statement to INSERT an array

  15. 15

    Cannot insert UTC_TIMESTAMP() with pdo prepared statement

  16. 16

    How to escape a string to insert into MySQL via PDO *without* using prepared statements (legacy app)

  17. 17

    PDO prepared statement trouble

  18. 18

    PDO Prepared Statement Function

  19. 19

    PDO prepared statement security

  20. 20

    PDO Prepared Statement Function

  21. 21

    PDO Prepared Statement with % and Limit

  22. 22

    Idiorm pdo prepared statement

  23. 23

    Using prepared statement in Rails to insert multiple rows

  24. 24

    PDO how do I set a datetime value to NULL in a prepared statement?

  25. 25

    PDO how do I set a datetime value to NULL in a prepared statement?

  26. 26

    how to insert multiple rows in MySQL without inserting blank row using prepared statement

  27. 27

    Is using PDO prepared statement and htmlspecialchars enough to prevent XSS and SQL injection?

  28. 28

    If statement is not working when inserting data using PHP PDO Prepared statements

  29. 29

    Getting error after submitting data using prepared statement with PDO connection

HotTag

Archive