CI框架中使用ajax操作数据库问题
前台:
<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=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)
晚辈不才,请指教。这样写好像不对。插不到数据库了
搞定 谢谢!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...
