Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP binding 'bigint' datatype (MySQLi prepared statement)

$studentId = 57004542323382
$companyOfferId = 7

$sql = 'INSERT INTO studentPlacement (companyOfferId, studentId) VALUES (?, ?)';

if ($stmt = $db->prepare($sql)) {
    $stmt->bind_param("ii", $offerId, $studentId);
    $stmt->execute();
    $insertId = $stmt->insert_id;
    $stmt->close();
}

My problem lies with the studentId variable. Its value is too long to be stored as a standard integer so it must be stored as a bigint. When binding the parameter as an integer it simply enters '1' as the studentId value. To my understanding bind_param supports 4 types; integer, string, blob and double. Does anybody have any ideas as to how I could get around this problem so I can properly send the value as a bigint?

Thanks

like image 891
jskidd3 Avatar asked Feb 14 '23 17:02

jskidd3


1 Answers

Use $studentId = '57004542323382'; // quotes added and string param for binding.

like image 148
sectus Avatar answered Feb 17 '23 10:02

sectus