我正在为我的网站构建一个ASCII二进制编码器,当我在textarea中键入一个空格并提交表单时,它会回显二进制代码为null而不是空格。我正在使用预准备语句来执行我的查询。我的数据库有2个字段,ASCII字符和二进制代码。我的代码是在每个字符处拆分字符串。然后它检查数据库中是否与文本区域中的文本匹配的bin(二进制)字段。为什么我的代码认为我的空间为空并将二进制文件从数据库中拉出来?
代码:
<?php
$decode = $_POST['ascii'];
require("connection.php");
$query = "SELECT bin FROM ascii_bin WHERE equivalent = ?";
$stmt = $connect->prepare($query);
foreach(str_split($decode) as $equiv){
$stmt->bind_param("s", $equiv);
$stmt->bind_result($bin);
$stmt->execute();
$stmt->fetch();
echo $bin;
}
$stmt->close();
?>
当我在textarea中输入空格时 var_dump($ _ POST ['ascii'])会返回:
string(1) " "