我刚开始使用PDO方法,现在我遇到了一个小问题.如果我创建一个表单以将名字和姓氏插入数据库,我可以使用以下代码插入所有类型的特殊字符:
try {
$db = new PDO('mysql:dbhost=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass);
$db -> exec("SET CHARACTER SET utf8");
} catch(PDOException $e) {
echo $e->getMessage();
}
$query = $db->prepare("INSERT INTO users(fname, lname) VALUES(:fname, :lname)");
$insert_array = array(
":fname" => $fname,
":lname" => $lname
);
$query->execute($insert_array);
$db = NULL;
Run Code Online (Sandbox Code Playgroud)
我可以插入":;,-!"#¤%&&(%)?{][]}£$€{{{$@@_--"没有任何问题,甚至插入SQL注入.但是当我尝试使用类似的代码更新数据库时,它会接受除引号之外的所有类型的特殊字符.这是为什么?我用来更新的代码是:
try {
$db = new PDO('mysql:dbhost=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass);
$db -> exec("SET CHARACTER SET utf8");
} catch(PDOException $e) {
echo $e->getMessage();
} …Run Code Online (Sandbox Code Playgroud) 我preg_match('/[a-z]+[0-9]/', strtolower($_POST['value']))用来检查字符串是否包含字母和数字.如何更改,只允许5~15个字符?
/[a-z]+[0-9]{5,15}/ 不起作用.
更新 现在我试过:
if(preg_match('/^[a-z0-9]{5,15}$/', strtolower($_POST['value']))) {
echo 'Valid!';
}
else {
echo 'NOOOOO!!!';
}
Run Code Online (Sandbox Code Playgroud)
如果我在输入字段中输入"dfgdfgdfg",它将显示"Valid!".该值必须包含字母和数字,以及5-15个字符.
我有一个HTML表格,其中一个单元格中有很多文本.是否有一种隐藏内容的简单方法,当我将这个确切的单元格悬停时,整个内容会显示出来?就像只显示前10-20个字符或其他东西一样.然后当我悬停那个单元格时,整个内容都会显示出来.
我可以用CSS简单地完成这项工作,还是需要JavaScript等?
如何在PHP中创建一个只接受3-9个字母(大写)和5-50个数字的RegEx?
我对正则表达式并不擅长.但是这个不起作用:
/[A-Z]{3,9}[0-9]{5,50}/
Run Code Online (Sandbox Code Playgroud)
例如,它匹配ABC12345但不匹配A12345BC
有任何想法吗?
例如,数据库中的列(日期)显示为"2013-10-14 14:37:38".
如何编辑$todaysDate以显示今天的所有日期?我知道我必须在某个地方使用%,但我已经尝试了很多方法而没有成功.:/
我的代码如下:
$todaysDate = date("Y-m-d");
$query_today = $db->prepare("SELECT * FROM table WHERE date=:date");
$query_today->bindParam(":date", $todaysDate);
$query_today->execute();
Run Code Online (Sandbox Code Playgroud)
更新
以下任何内容均无效.我只想从简单的数据库中选择所有日期date("Y-m-d").如果数据库中的日期是"2013-10-14 14:37:38",我想用2013-10-14选择它.有点像date("Y-m-d%").
如果我有一个字符串BA00008424BA00008425BA00008426.我怎样才能将这些爆炸成:
从这个例子..
$pizza = "piece1|piece2|piece3|piece4|piece5|piece6";
$pieces = explode("|", $pizza);
Run Code Online (Sandbox Code Playgroud)
在这里,他们用" | " 爆炸,但我想在下一个" BA " 之后爆炸.
提前致谢!:)
这个工作:
<td onmouseover="document.getElementById('textbox').innerHTML='Hidden text'" onmouseout="document.getElementById('textbox').innerHTML='Show text'">
<div id="textbox">Show text</div>
</td>
Run Code Online (Sandbox Code Playgroud)
但是这个没有:
<td onmouseover="document.getElementByClassName('textbox').innerHTML='Hidden text'" onmouseout="document.getElementByClassName('textbox').innerHTML='Show text'">
<div class="textbox">Show text</div>
</td>
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?我需要一个课程不止一次地使用它.