Heim > Backend-Entwicklung > PHP-Tutorial > PHP 对数据库操作。一次对多表插入

PHP 对数据库操作。一次对多表插入

WBOY
Freigeben: 2016-06-23 14:02:07
Original
1240 Leute haben es durchsucht

public function add($u_id, $name, $big_classes){  if(!self::$object)  {    return 102;  }  $sql = 'insert classes (cl_big_classes, cl_name) value ('.$big_classes.', \''.$name.'\')';  $this->sql->query($sql);  if($this->sql->affected_rows <= 0)  {    return 220;  }  $last_id = $this->sql->insert_id;  if($last_id)  {    $sql = 'insert u_cl_link (u_id, cl_id) value ('.$u_id.', '.$last_id.')';    //这句很明显的不是上一句的操作结果,是最上一句的结果。 最后的结果是返回0,表示一切正常,但数据库最后只插入了第一条。第二条完全没有执行过,求解决方法    if($this->sql->affected_rows <= 0)     {      return 222;    }    return 0;  }}
Nach dem Login kopieren


求解决方法,理论上说,是分别执行的两次query,第二句不会没有执行的啊。但第二句的插入操作没有成功,我把第二句$sql复制到命令行执行,可以成功插入,这里应该是有个啥机制我没理解的吧。求高人指点一二,


回复讨论(解决方案)

但是并没有看到
$sql = 'insert u_cl_link (u_id, cl_id) value ('.$u_id.', '.$last_id.')';
的 $sql 在哪里被执行啊

但是并没有看到
$sql = 'insert u_cl_link (u_id, cl_id) value ('.$u_id.', '.$last_id.')';
的 $sql 在哪里被执行啊
马上结贴,藏起来,又丢人了。我检查了半天,原来我没写
$this->sql->query($sql);
。。。。。。。。。。。。。。。。。。。

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage