Richard Olsen Sandberg Richard Olsen Sandberg - 1 year ago 124
PHP Question

php bind_param with arrays

Is it possible to use

with arrays?

For example

$stmt->bind_param('iss', Array(101, 'SomeString 1', 'Some string 2'));
// OR
$stmt->bind_param(Array('iss'), Array(101, 'String1', 'String2'));
// OR
$stmt->bind_param(Array( Array('i', 101), Array('s', 'String1'), Array('s', 'String2') ));

Is any of these examples possible in PHP (or any other examples)?

Finally I can use my function/class

$sql->upload( $table, Array('n;id', 's;username=' . $username, 's;password=' . $password) );

Function explination

public function upload( String $table , Array $values )

// Where example array could be Array('s;coloumn=someString', 'i;SomeIntegerColoumn=10', 'n;SomeID')
Basically where identifier can be "n", "d", "i" or "s"
coloumn is the name of the sql coloumn to inset the value to
value is the string/integer/double to instert in the the coloumn

Example query with the array mentioned above would be
"INSERT INTO $table(coloumn, SomeIntegerColoumn, SomeID) VALUES(?, ?, NULL)"

My project will be out on GitHub really soon :) Thanks a lot!

Answer Source

If your PHP is not outdated (>= 5.6 namely), just add three dots to the first example,

$stmt->bind_param('iss', ...array(101, 'SomeString 1', 'Some string 2'));