我也有简单(可能不安全)(插入数据)脚本:
连接:
$db = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'xxx', 'xxx');
发布数据
$renginioid = ($_POST['renginioid']);
$renginioid = strtolower($_POST['renginioid']);
$renginioid = str_replace(" ", "-", $renginioid);
$renginioid = str_replace("ą", "a", $renginioid);
$renginioid = str_replace("č", "c", $renginioid);
$renginioid = str_replace("ę", "e", $renginioid);
/* etc */
插入
$stmt = $db->prepare("INSERT INTO renginiai(renginioid, pavadinimas, vadovai, programa, menesis, adresas, mda6) VALUES('$renginioid', '$pavadinimas', '$vadovai', '$programa', '$menesis', '$adresas', '$mda6')");
$stmt->execute();
问题:
我在$ renginioid和$ pavadinimas使用相同的POST。 strtolower工作得很好,而str_replace根本不起作用。
我需要将'到a,č替换为c ...等等,但是这个脚本不起作用。 (我需要将这些字母转换成英文字母)。
其他问题:
这个脚本可以在所有行中插入英文字母,但是如果我使用其他字母,那么除了renginioid行之外,所有行都要完成工作。这一排对我来说几个小时都很痛苦。
renginioid row是主要行。
感谢大家的帮助。
抱歉英文不好。
答案 0 :(得分:0)
在HTML
中显示utf8特殊字符,请将其放入<head>
<meta charset="utf-8">
在PHP中从表行显示utf8,以这种方式存储在$variable
节目中:
utf8_encode($variable);
要推送表格中的行,请使用:
utf8_decode($variable);
更多信息,这里:
http://www.php.net/manual/es/function.utf8-encode.php http://www.php.net/manual/es/function.utf8-decode.php
或强> 的
使用此特殊html字符表来改进str_replace代码:http://webdesign.about.com/od/localization/l/blhtmlcodes-cz.htm
答案 1 :(得分:0)
为此使用htmlspecialchars:)
$renginioid = htmlspecialchars($_POST['renginioid'], ENT_QUOTES, 'utf-8');