- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经进行了一些谷歌搜索,但仍然对当我将数据插入 php 表单以添加数据库时如何处理撇号感到困惑。目前,我输入的所有内容都没有撇号,然后通过 phpmyadmin 手动进入,在应该的地方添加撇号,这很痛苦。我明白为什么会收到错误,但不确定如何修复它(错误是您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本对应的手册以获取正确的语法)。
我发现使用真正的转义字符串并添加斜杠/删除斜杠。我认为真正的转义字符串才是我需要使用的。我尝试将其添加到我的代码中,但显然不在正确的位置,因为它只向我显示了一个空白页面。
这是我的代码。其他一切都工作正常...我知道我不是 php/sql 专家,所以请不要评判代码。我只需要有关如何处理撇号问题的帮助。唯一可能有撇号的列是马的名字。
<?php
$detailsform = "
<form method='post' action='resultspage.php'>
<p>Year: <input type='text' name='yearofshow' size='4' maxlength='4' value='2013'></p>
<p>Show Name: <input type='text' name='showname' size='20' maxlength='100'></p>
<p>Level: <Select name='level'><option>Age A</option><option>Age B</option></select></p>
<p># Horses In Level: <input type='text' name='nohorses' size='20' maxlength='100'></p>
<p><input type='submit' name='details' value='Submit'></p>
</form>
";
if(isset($_POST['details']))
{
echo "
<form method='post' action='results_feh.php'>
<p><strong>Year:</strong> {$_POST['yearofshow']} <input type='hidden' name='yearofshow' value='{$_POST['yearofshow']}' size='4' maxlength='4'></p>
<p><strong>Show Name:</strong> {$_POST['showname']} <input type='hidden' name='showname' value='{$_POST['showname']}' size='20' maxlength='100'></p>
<p><strong>Level:</strong> {$_POST['level']} <input type='hidden' name='level' value='{$_POST['level']}' size='20' maxlength='100'></p>
<p><strong># Horses In Level:</strong> {$_POST['nohorses']} <input type='hidden' name='nohorses' value='{$_POST['nohorses']}' size='20' maxlength='100'></p>
";
$count = 0;
echo "<table><tr><td></td><td><b>Horse Name</b></td><td><b>Owned By</b></td></tr>";
while ($count < $_POST['nohorses'])
{
$count = $count + 1;
echo "<tr><td>{$count}</td><td><input type='text' name='horse{$count}' size='20' maxlength='100'></td><td><input type='text' name='rider{$count}' size='20' maxlength='100'></td></tr>";
}
echo "
</table><p><input type='submit' name='horses' value='Generate Scores'></p>
</form>
";
}
elseif(isset($_POST['horses']))
{
$countscores = 0;
echo "<P>[b]FEH {$_POST['level']}[/b]</P>";
while ($countscores < $_POST['nohorses']){
$countscores = $countscores + 1;
$starters = $_POST['nohorses'];
**A bunch of data goes here to randomize a big set of scores**
$row = array ("name" => "$_POST[$horse]", "rider" => $_POST[$rider], "conformation" =>"$average", "frame" =>"$average2", "legsfeet" =>"$average3", "walk" =>"$average4", "trot" =>"$average5", "correctness" =>"$average6", "impression" =>"$average7", "score" => "$overall");
$horse_scores[] = $overall;
$horse_list[] = $row;
} // End of loop.
for ($i = 0; $i < count($horse_scores); $i++){
$scores[] = $horse_scores[$i];
}
array_multisort($scores, SORT_DESC, $horse_scores, $horse_list);
for ($i = 0; $i < $starters; $i++){
$place = $i + 1;
echo "$place
{$horse_list[$i]['name']} owned by
{$horse_list[$i]['rider']} [size=85][i]
[{$horse_list[$i]['conformation']} |
{$horse_list[$i]['frame']} |
{$horse_list[$i]['legsfeet']} |
{$horse_list[$i]['walk']} |
{$horse_list[$i]['trot']} |
{$horse_list[$i]['correctness']} |
{$horse_list[$i]['impression']}][/i][/size]
{$horse_list[$i]['score']}<br>";
$query ="INSERT into `fehresults`(name,level,date,event,conformation,frame,legsfeet,walk,trot,correctness,impression,final,starters,place,points)
VALUES ('{$horse_list[$i]['name']}','{$_POST['level']}','{$_POST['yearofshow']}','{$_POST['showname']}','{$horse_list[$i]['conformation']}','{$horse_list[$i]['frame']}','{$horse_list[$i]['legsfeet']}','{$horse_list[$i]['walk']}','{$horse_list[$i]['trot']}','{$horse_list[$i]['correctness']}','{$horse_list[$i]['impression']}','{$horse_list[$i]['score']}','$starters','$place','$points')";
$result = mysql_query($query) or die ("Could not execute query : $query." . mysql_error());
if ($result) {
$text = "The results for this show have been added to the FEH/YEH database.";
}else{
$text = "There was a problem adding the results to the database, please try again.";
}
} // End of for loop.
echo "<p align='center'><a href='resultspage.php'>RANDOMIZE ANOTHER SET OF RESULTS</a> </p>";
} // End of horses.
else {
echo $detailsform;
}
?></body>
最佳答案
这就是为什么escaping your data或使用prepared statements是重要的。它们会清理您的数据并使其安全地插入到您的数据库中。请注意,准备好的语句更安全,而转义查询意味着您需要运行更少的查询(准备好的语句至少需要 2 个查询)。
逃脱很简单
$sql = 'INSERT table SET
field = "' . mysqli_real_escape_string($_POST['field']) . '"
WHERE value = "' . mysqli_real_escape_string($_POST['value']) . '"';
好的一面是,这只是您需要运行的一个查询,然后您就完成了。不好的一面是在某些情况下这可能会存在安全漏洞(主要是您在字符编码方面不小心)
关于php - 表单提交中的撇号向 MYSQL 添加行会导致错误...不确定我是否应该使用 "mysql_escape_string",如果是的话怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20366215/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!