Ron Piggott wrote:
I am trying to implement Prepared Statements on my web site and this is
the first time I have ever used this.
#1) I received the error ?class mysql not defined?. That is a reference
#to the first line of code (below) where the database connection is
#established.
#2) How do I assign the auto_increment value to a variable use Prepared
#Statements? In the syntax I am attempting below ?record? is an
#auto_increment column.
#3) Do syntaxes such as ?$stmt-bindParam(':account_suspended',
#-00-00);? require the date -00-00 to be surrounded by ? ?
Thank you to the many of you who have supported me this year when I have
had questions. I am physically handicapped, although I don?t want to make
a big deal about it. I have appreciated the opportunity to continue
developing my PHP / mySQL programming skills in 2010. The Internet is a
life line to me.
Ron
$dbh = new mysql('localhost', '$username', '$password', '$database2');
$stmt = $dbh-prepare(INSERT INTO `$database2`.`member` ( `record` ,
`first_name` , `last_name` , `address_1` , `address_2` , `address_3` ,
`address_4` , `address_5` , `email` , `prayer_community_alias` ,
`birth_month` , `birth_day` , `pass` , `validated` , `last_login` ,
`last_activity` , `birthday_records` , `greeting_reference` ,
`registration_ip_address`, `account_created` , `account_suspended` ,
`account_closed` , `referral_source` , `friends_of_ministry_package` ,
`security_question_1` , `security_answer_1` , `security_question_2` ,
`security_answer_2` , `security_question_3` , `security_answer_3` ) VALUES
( NULL , ':f1', ':l1', '', '', '', '', '', ':e1', '', ':birth_month',
':birth_day', ':validate_password', ':validated', ':last_login',
':last_activity', ':birthday_records', ':greeting_reference',
':registration_ip_address', ':account_created', ':account_suspended',
':account_closed', ':referral_source', ':friends_of_ministry_package',
':security_question_1', '', ':security_question_2', '',
':security_question_3', '' ) ON DUPLICATE KEY UPDATE `validated` =
':validated', `pass` = ':validate_password', `account_suspended` =
':account_suspended', `account_closed` = ':account_closed',
`last_activity` = ':last_activity', `registration_ip_address` =
':registration_ip_address';);
$stmt-bindParam(':f1', $f1);
$stmt-bindParam(':l1', $l1);
$stmt-bindParam(':e1', $e1);
$stmt-bindParam(':birth_month', 0);
$stmt-bindParam(':birth_day', 0);
$stmt-bindParam(':validate_password', $validate_password);
$stmt-bindParam(':validated', 5);
$stmt-bindParam(':last_login', $todays_date);
$stmt-bindParam(':last_activity', $todays_date);
$stmt-bindParam(':birthday_records', 15);
$stmt-bindParam(':security_question_1', 0);
$stmt-bindParam(':greeting_reference', 0);
$stmt-bindParam(':registration_ip_address', $registration_ip_address);
$stmt-bindParam(':account_created', $todays_date);
$stmt-bindParam(':account_suspended', -00-00);
$stmt-bindParam(':account_closed', -00-00);
$stmt-bindParam(':referral_source', 2);
$stmt-bindParam(':friends_of_ministry_package', 0);
$stmt-bindParam(':security_question_1', $security_question_1);
$stmt-bindParam(':security_question_2', $security_question_2);
$stmt-bindParam(':security_question_3', $security_question_3);
// insert one row
$stmt-execute();
$stmt-close();
The Verse of the Day
?Encouragement from God?s Word?
http://www.TheVerseOfTheDay.info
#1) I think you re confusing mysql and mysqli
#2) Normal procedure is to eithr assign NULL to the auto-increment field, or
not reference it; I imagine the same applies for prepared statements
#3) Dates are entered aas strings, so need to be quoted as strings
Disclaimer; I have also not used prepared statements, but have looked
quickly at the mysqli docs :-)
Cheers
--
David Robley
My software never has bugs. It just develops random features.
Today is Boomtime, the 70th day of The Aftermath in the YOLD 3176.
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php