在处理来自iOS NSData源的BLOG字段时,我遇到了一个奇怪的问题。我将它传递给PHP Web服务。
原始源的长度为10159.当PHP源到达Web服务时,其长度为10159。我在MYSQL中启用了常规日志记录,并验证了准备好的语句实际上是从客户端发送的原始字节。
这是PHP代码:
//call the stored procedure
$stmt2 = $this->db->prepare("CALL sp_event_master_create(?,?,?,?,?,?,?,?,?,?,?,?, @event_master_id)");
$stmt2->bind_param('sssssssbsssi',
$event_name,
$event_location,
$mysql_start_date,
$mysql_end_date,
$event_website,
$event_facebook,
$event_description,
$event_image,
$event_contact_name,
$event_contact_number,
$event_contact_email,
$event_app_user_id);
//set the image to be uploaded
$stmt2->send_long_data(7, $event_image);
当我在getById
Web服务调用上查询BLOB字段时,返回给客户端的大小已经膨胀到22,325。返回的第一个字节看起来与发送到数据库的原始字节完全不同。
我尝试使用base64_decode
返回的blob,但这不起作用。我知道我必须为字段或数据库设置错误。
PHP VERSION :5.5.3
MYSQL VERSION :5.5.34
答案 0 :(得分:0)
问题似乎实际上是在RESKIT中而不是在PHP或MYSQL中。我将字段转换为MEDIUMTEXT,数据库中的数据是正确的。我可以在Web服务调用上看到JSON数据与发送的内容匹配。
我已在google网上发布了reskit:https://groups.google.com/forum/#!topic/restkit/zMh98jCdGF0