①$upload-allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
创新互联建站自2013年创立以来,先为昌邑等服务建站,昌邑等地企业,进行企业商务咨询服务。为昌邑企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
这样写试试。
②不知道你的Thinkphp是哪个版本的。你去看下上传文件的类里面具体怎么写的,是UploadFile.class.php文件。看下protected function error($errorNo) 这个方法,也就是提示错误的函数,看写“非法数据对象”是哪里出错了。有可能不是因为类型的原因。
(不行再问我,QQ617762749)
Call to a member function query() on a non-object
这错误一般是说你调用的对象并没有存在这个方法,或这个对象压根就不存在.
解决方法,确定对象是否正确.确定对象是否有这个方法...
可用var_dump($connect)查看对象是否存在.
可借助function_exists($connect-query);确定方法是否存在....
这种情况一般是你对一个类对象,使用了属性调用造成的。
比如应该是
echo $a-att1;
你写错成了:
echo $a['att1'];
改回来就可以了。
PHP中使用关键字 class 来定义一个类。类的命名一般使用首字符大写,而后每个单词首字符大写连接的方式方便阅读。
在PHP5中,属性指在class 中声明的变量。在声明变量时,必须使用 public private protected 之一进行修饰,定义变量的访问权限。PHP中的属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)
Public(公开): 可以自由的在类的内部外部读取、修改。
Private(私有): 只能在这个当前类的内部读取、修改。
Protected(受保护):能够在这个类和类的子类中读取和修改。
属性的使用:通过引用变量的 - 符号调用变量指向对象的属性。
在方法内部通过 $this- 符号调用同一对象的属性。
所以应该用箭头调用而不是括号。
你怀疑的这行:
$result = array("status" = "error");
是没有错误的,错误应该是在前面一行:
if($obj - code !=200)
$obj不是对象类型,所以才会报错,你可以在这行之前添加下面的语句验证:
print_r($obj);
依 Call to a member function bind_param() on a non-object 是因为$reginmysqli_stmt 这个对象错误了, 也就是$regin-mysqli-prepare($sql);在这一句返回的不是statement对象, 而是prepare时发生错误返回了false, 所以下面那句就会接着出错, 你可以试试debug输出下执行prepare时发生的错误, 可以用mysqli_error($link)之类的方法输出错误的原因, $link 就是你连接mysqli的资源, 或者一般有数据库错误之类的会有日志记录, 看看你服务器的mysql有没有开启日志记录, 然后找到日志里面查看数据库报错原因