phppup Posted February 14, 2021 Share Posted February 14, 2021 After deciding to venture into the realm of prepared statements, I have this line in my script Quote if ($stmt = $conn->prepare('SELECT username FROM users WHERE username = ?')) { Everything was working fine. I reviewed my code to adjust it to my old habits, and realized that I had hardcoded the TABLE NAME rather than using a variable. I updated my code to Quote $table = "users"; if ($stmt = $conn->prepare('SELECT username FROM $table WHERE username = ?')) { and results from my SELECT statement vanished. Is the use of a variable for a table's name outdated? Even possible?? Quote Link to comment https://forums.phpfreaks.com/topic/312148-prepared-statement-issue/ Share on other sites More sharing options...
Barand Posted February 14, 2021 Share Posted February 14, 2021 Your query string is in single quotes therefore $table is not interpreted as "users". Why are you putting the table name in a variable? It's often a sympton of a poorly designed database if it is necessary. Quote Link to comment https://forums.phpfreaks.com/topic/312148-prepared-statement-issue/#findComment-1584458 Share on other sites More sharing options...
phppup Posted February 14, 2021 Author Share Posted February 14, 2021 As mentioned, it's a hold-over of an old habit (although my database will probably be restructured next. LOL) Still, the double quotes were the only choice that didn't cause an error message. How do I get the variable in there? Or is it even worthwhile? Quote Link to comment https://forums.phpfreaks.com/topic/312148-prepared-statement-issue/#findComment-1584459 Share on other sites More sharing options...
Barand Posted February 14, 2021 Share Posted February 14, 2021 https://www.php.net/manual/en/language.types.string.php Quote Link to comment https://forums.phpfreaks.com/topic/312148-prepared-statement-issue/#findComment-1584460 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.