• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

CI框架中使用ajax操作数据库问题

php 搞代码 3年前 (2022-01-23) 14次浏览 已收录 0个评论
文章目录[隐藏]

前台:

<script>//调用方法用ajax操作add_dbdata.phpvar xmlHttpfunction add_dbdata(str,str1){			//alert(str);	if (str=="")	{	document.getElementById("txtHint").innerHTML="";	return;	}	if (window.XMLHttpRequest)	{// code for IE7+, Firefox, Chrome, Opera, Safari	xmlhttp=new XMLHttpRequest();	}	else	{// code for IE6, IE5	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");	}	xmlhttp.onreadystatechange=function()	{	if (xmlhttp.readyState==4 && xmlhttp.status==200)	{	document.getElementById("txtHint").innerHTML=<strong>*本文来源gaodai#ma#com搞@代~码^网+</strong><strong>搞代gaodaima码</strong>xmlhttp.responseText;	}	}	//xmlhttp.open("GET","add_dbdata.php?q="+str,true);	//alert(str1);	//alert(str);		xmlhttp.open("GET","add_dbdata.php?q="+str,true);	   //xmlhttp.open("GET","<?=base_url()?>project_c/add_zijiedian/"+str1+str,true);  这样写,也不好使,不知道哪有问题 	xmlhttp.send();}

后台操作数据库

<?phpheader("Content-type:text/html;charset=utf8");$q=$_GET["q"];$q=(int)$q;echo "<script>alter('kkkkkkk');</script> ";$con = mysql_connect('localhost', 'root', '');if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_select_db("test", $con);mysql_query("set names utf8");//$sql = " SELECT * FROM ecm_acategory ";$sql = " insert into data (name) values('999')";echo $sql;$result = mysql_query($sql);mysql_close($con);?>

求助, 本地测试不用CI,这样写没问题,加个CI,上边的路径换了几种也不好使,不知道怎么回事。 先谢谢了!

回复讨论(解决方案)


xmlhttp.open(“GET”,”<?=base_url()?>project_c/add_zijiedian/”+str1+str,true);
然后看看浏览器中的源代码

SQL语句 如下

	//插入预算表					$this->db->query("select @myLeft:=PLeft from constrproj where  ConstrProjName = '$dangqiandianname' ");										$this->db->query("UPDATE constrproj SET PRight = PRight + 2 WHERE PRight > @myLeft");										$this->db->query("UPDATE constrproj SET PLeft = PLeft + 2 WHERE PLeft > @myLeft");								$query3 = $this->db->query("select * from constrproj where ConstrProjID= ( SELECT min(ConstrProjID) from constrproj)");						$arr = $query3->result_array();					$ParentID = $arr[0]['ConstrProjID'];										//echo '<script>alert("'.$ParentID.'");</script>';							$this->db->query("INSERT INTO constrproj(ConstrProjName,PLeft,PRight,ParentID,KindLvl) VALUES('$zijiediandianname',@myLeft + 1, @myLeft +2,'$ParentID',1)" );										$query2 = $this->db->query("select * from constrproj");				    $result_count2 = count($query2->result());	

是PLeft值没有得到吗?

PLeft 不能为空
你向 PLeft 列负的值是 @myLeft + 1
显然 @myLeft 是空值 NULL

谢谢,前辈!
再请教个问题,现在插是插进去了,可是在数据库中出现乱(页面默认编码是utf-8,数据库编码是utf-8),这个和get传参有关系吗?而且用到ajax

第一个图是在页面赋值,调用控制层,第二个图是控制层里得到值 调模型型

谢谢了

那不是乱码,而是 url 编码
入库前先解码(urldecode)

晚辈不才,请指教。这样写好像不对。插不到数据库了

搞定 谢谢!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CI框架中使用ajax操作数据库问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址