非常感谢我的原始问题产生的讨论.我把Jay的建议用于使用bind_param(),但有一些我不明白它可能给我的服务器错误:"网站在检索时遇到错误......".我不知道这个例子附带的'sssd'是什么意思.
任何有关生成服务器错误的建议都非常感谢.
<?php
$mysqli = new mysqli('my-database-address', 'my-username', 'my-password', 'my-database-name');
f (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit(); }
$stmt = $mysqli->prepare("INSERT INTO volunteers VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param('sssd', $first_name, $last_name, $street_address, $apt_unit, $city, $zip,
$email, $phone, $planning, $signatures, $canvassing, $phone_bank, $media, $press_releases,
$volunteer_coordinator, $speaker, $house_parties, $web_page, $other, $skills, $organizations);
$first_name = '$_POST[first_name]'; $last_name = '$_POST[last_name]'; $street_address = '$_POST[street_address]';
$apt_unit = '$_POST[apt_unit]'; …Run Code Online (Sandbox Code Playgroud) 我已经查看了这个代码数十亿次,并且看不出它有什么问题.但它给我的消息,"错误:您在您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近"时,名称,记者,联系人,建议,评价)VALUES正确的语法手册('我再说','我','在第1行'
请帮忙!
对不起,对不起,我真是太棒了!急于找到工作,我粘贴了错误的代码.这是正确的代码行.
$sql="INSERT INTO one_on_one_reports (whenever, name, reporter, contacts, suggestions, remarks) VALUES ('$_POST[whenever]', '$_POST[name]', '$_POST[reporter]', '$_POST[contacts]', '$_POST[suggestions]', '$_POST[remarks]')";
Run Code Online (Sandbox Code Playgroud)
我在开车之间.然后再跑了.但我再次为错误的粘贴道歉.我会考虑以后的注射防护.如果这有任何区别,则此文件位于受密码保护的文件夹中.
布鲁斯