php mysql更新blob
PHP/mySql新手,在插入和检索二进制数据时遇到问题。我有一个名为usr_pressdata的mySql表。字段“BinDat”的类型为mediumblobphp mysql更新blob,php,mysql,string,binary,blob,Php,Mysql,String,Binary,Blob,PHP/mySql新手,在插入和检索二进制数据时遇到问题。我有一个名为usr_pressdata的mySql表。字段“BinDat”的类型为mediumblob $dat = $this->parseOverview($sql); // $dat is now a binary string $datsql = "Update usr_pressdata Set BinDat = " . $dat; $datresult = mysql_query($datsql, $this
$dat = $this->parseOverview($sql);
// $dat is now a binary string
$datsql = "Update usr_pressdata Set BinDat = " . $dat;
$datresult = mysql_query($datsql, $this -> conn) or die(mysql_error());
$getdat = "Select * from usr_pressdata";
$getdatresult = mysql_query($getdat, $this -> conn) or die(mysql_error());
$row = mysql_fetch_array( $getdatresult );
$retval = $row['BinDat'];
在这个例子中,我的目标是$retval==$dat,但它不是。我怀疑我的查询字符串$datsql不正确。有人能纠正这个示例代码吗?谢谢。在表中插入值时(或者更一般地说,在SQL请求中包含值时):
mysql\u real\u escape\u string
对字符串进行“转义”,以防止出现错误$request = "UPDATE usr_pressdata SET bindat= '" . mysql_real_escape_string($dat) . "';";
我怀疑您可能想在末尾添加一个
WHERE someColumn=someCondition
子句,因为现在它会影响表中的所有行。可以影响表中的所有行。只有一行。此sql请求对我无效。mysql_real_escape_string是本机方法吗?是的,请看这里:$retval和$dat有何不同?您是否尝试了两个变量的var_dump()?