[INFO] vPHP and binded values

Ivan Smahin ivan_smahin at paradigmasoft.com
Fri Nov 12 05:08:42 CST 2010


Hello Danny,

  Just for info...

  PHP
  ------

  There are new features in the current build:

  Currently you may pass as binded values following things:
        • NULLs
        • Bools, longs, doubles, strings
        • Arrays (we will concat all elements in a single string value)
        • IS_OBJECT which must be php_vbinary_value - no idea how to get such object in PHP
        
  Examples:

  // Load binary content and write it as a Picture and as a BLOB to the db.
  $filename = "WallPaperHD - 146.jpg";
  $handle = fopen($filename, "rb");
  $filecontents = fread($handle, filesize($filename));
  fclose($handle);

  // Array of lines. - can be used to make a binded value representing text of file
  // But better do the same as above (for binary file)
  $fileAsArray = file('test.txt');


  // Creating array with binding values
  $binds_array = array( 25, 2020, "Smith Jones Binded", $filecontents, $fileAsArray , NULL);

  valentina_query("INSERT INTO ".test_table." (age, salary, name, test1, test2, v) VALUES(:1, :2, :3, :4, :5, :6)", $binds_array) or
        die( "insert statement crashed!");


  PDO
  ------

  How to pass nulls as binded value.

  Example:

  $name = "Frost";
  $sql = "INSERT INTO Person (Name, Age ) VALUES (?, ?)";
  $sth = $dbh->prepare($sql);
  $sth->bindValue(1 , $name, PDO::PARAM_STR);
  $sth->bindValue(2 , NULL,  PDO::PARAM_NULL);
  $sth->execute();

  Actually it concats the string to be:
  INSERT INTO Person (Name, Age ) VALUES ('Frost', NULL)
  And pass it to the engine.



-- 
Best regards,
Ivan Smahin 
Senior Software Engineer
Paradigma Software, Inc
Valentina - The Ultra-Fast Database
http://www.valentina-db.com




More information about the Valentina mailing list