php 向oracle中插不进去数据 $query = oci_parse($olink,$strSql);$oresult=oci_execute($query);数据库连接成功;$strSql 在oracle执行能成功;可在php里执行就是不行,请各位指教, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 code:<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr"><head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /><title>mysql 字符编码 </title> </head> <?phpmysql_query("set names gbk;");/*防止出现乱码*///连接数据库 $db="localhost"; $user="root"; $pwd="123456"; $dbname="dedev3"; $link=mysql_connect($db,$user,$pwd); if(!$link) { echo "--------------Mysql连接失败---------------<br><br>"; exit(); } $olink = oci_pconnect('SYSTEM','manager',"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.31)(PORT=1521))(CONNECT_DATA=(SID=dedeo)))"); if(!$olink) { echo "--------------Oracle连接失败---------------<br><br>"; exit(); } $tbNum=0; $tbName=""; mysql_select_db($dbname); $resultDB = mysql_query("show table status from $dbname",$link); while($data=mysql_fetch_array($resultDB)) { $tbName=$data["Name"]; /****取表所有行****/ $sql="select * from $tbName"; $result=mysql_query($sql); $rows=mysql_num_rows($result); /****获取表的第一个字段名****/ $field=mysql_list_fields($dbname,$tbName,$link); $cols=mysql_num_fields($field); $priKey=mysql_field_name($field,0); //取表的第一个字段[主键/不一定全是] /****重新排序****/ mysql_free_result($result); $sql="select * from $tbName order by $priKey"; $result=mysql_query($sql); if($rows==0) { echo "$tbName ----------------- 无记录 跳过 <br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br>"; } else { echo "$tbName ----------------- 开始数据处理 <br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br>"; /****取第一个字段的最大值****/ $maxKey = mysql_query("select max(".$priKey.") as maxId from $tbName",$link); if($maxKey) { while($row = mysql_fetch_object($maxKey)) { $maxid = $row->maxId; } for($i=0;$i<$maxid;$i++) { $j=$i+1; $recNum = mysql_query("select * from $tbName where ".$priKey."=$j",$link); //echo "select ".$priKey." from $tbName where ".$priKey."=$j<br><br>"; if($recNum) { /****echo "无记录向oracle中插入一条空记录"; 根据表字段生成SQL 语句****/ $strSql="insert into $tbName("; for($m=0;$m<$cols-1;$m++) { $strSql.=mysql_field_name($field,$m+1).","; } $strSql=substr($strSql,0,strlen($strSql)-1); $strSql.=") values("; $isExist=mysql_fetch_array($recNum); if($isExist) { //echo "有记录<br>"; for($m=0;$m<$cols-1;$m++) { //echo $isExist[$m]."<br>"; if(mysql_field_type($field, $m+1)=="int") { $strSql.=$isExist[$m+1].","; //echo mysql_field_type($field, $m)."<br>"; } else { $strSql.="'".$isExist[$m+1]."'".","; } } $strSql=substr($strSql,0,strlen($strSql)-1); $strSql.=")"; //echo $strSql."<br>"; } else { for($m=0;$m<$cols-1;$m++) { if(mysql_field_type($field, $m+1)=="int") { $strSql.="0".","; } else { $strSql.="' '".","; } } $strSql=substr($strSql,0,strlen($strSql)-1); $strSql.=")"; ////echo $strSql."<br>"; } //echo $strSql."<br>"; $query = oci_parse($olink,$strSql); $oresult=oci_execute($query); if($oresult) { echo "true<br>"; } else { echo "false<br>"; } } else { echo "提取表$tbName数据时了错<br>"; } } } } echo "$tbName 结束 ************************ <br><br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br><br>"; $tbNum+=1; /* if($tbNum==10) { exit(); } */ } echo $tbNum; //清空内存 mysql_free_result($result); //关闭数据库 mysql_close();?> oracle升级后为什么表必须写上用户才可以 oracle 递归查询 奇怪的问题! 求创建oracle用户的解决方案(有数据库管理经验者特别关注) 100分求一个批量更新的SQL性能优化问题 隐藏客户信息的方法 oracle 空间数据读取 oracle自动生成ID问题 这问题贼怪! mysql和oracle主要有那些区别?? XP 下如何安装 Oracle 送50 分 急 急 急!!! ${ORACLE_HOME}/precomp/lib32中的文件有什么作用,能不能举个例子 oracle查不在表里的记录
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>mysql 字符编码 </title>
</head>
<?php
mysql_query("set names gbk;");/*防止出现乱码*/
//连接数据库
$db="localhost";
$user="root";
$pwd="123456";
$dbname="dedev3"; $link=mysql_connect($db,$user,$pwd);
if(!$link)
{
echo "--------------Mysql连接失败---------------<br><br>";
exit();
}
$olink = oci_pconnect('SYSTEM','manager',"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.31)(PORT=1521))(CONNECT_DATA=(SID=dedeo)))");
if(!$olink)
{
echo "--------------Oracle连接失败---------------<br><br>";
exit();
} $tbNum=0;
$tbName="";
mysql_select_db($dbname);
$resultDB = mysql_query("show table status from $dbname",$link);
while($data=mysql_fetch_array($resultDB))
{
$tbName=$data["Name"];
/****取表所有行****/
$sql="select * from $tbName";
$result=mysql_query($sql);
$rows=mysql_num_rows($result); /****获取表的第一个字段名****/
$field=mysql_list_fields($dbname,$tbName,$link);
$cols=mysql_num_fields($field);
$priKey=mysql_field_name($field,0); //取表的第一个字段[主键/不一定全是] /****重新排序****/
mysql_free_result($result);
$sql="select * from $tbName order by $priKey";
$result=mysql_query($sql); if($rows==0)
{
echo "$tbName ----------------- 无记录 跳过 <br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br>";
}
else
{
echo "$tbName ----------------- 开始数据处理 <br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br>"; /****取第一个字段的最大值****/
$maxKey = mysql_query("select max(".$priKey.") as maxId from $tbName",$link);
if($maxKey)
{
while($row = mysql_fetch_object($maxKey))
{
$maxid = $row->maxId;
}
for($i=0;$i<$maxid;$i++)
{
$j=$i+1;
$recNum = mysql_query("select * from $tbName where ".$priKey."=$j",$link);
//echo "select ".$priKey." from $tbName where ".$priKey."=$j<br><br>";
if($recNum)
{
/****echo "无记录向oracle中插入一条空记录";
根据表字段生成SQL 语句****/
$strSql="insert into $tbName(";
for($m=0;$m<$cols-1;$m++)
{
$strSql.=mysql_field_name($field,$m+1).",";
}
$strSql=substr($strSql,0,strlen($strSql)-1);
$strSql.=") values("; $isExist=mysql_fetch_array($recNum);
if($isExist)
{
//echo "有记录<br>";
for($m=0;$m<$cols-1;$m++)
{
//echo $isExist[$m]."<br>";
if(mysql_field_type($field, $m+1)=="int")
{
$strSql.=$isExist[$m+1].",";
//echo mysql_field_type($field, $m)."<br>";
}
else
{
$strSql.="'".$isExist[$m+1]."'".",";
}
}
$strSql=substr($strSql,0,strlen($strSql)-1);
$strSql.=")";
//echo $strSql."<br>";
}
else
{ for($m=0;$m<$cols-1;$m++)
{
if(mysql_field_type($field, $m+1)=="int")
{
$strSql.="0".",";
}
else
{
$strSql.="' '".",";
}
}
$strSql=substr($strSql,0,strlen($strSql)-1);
$strSql.=")";
////echo $strSql."<br>";
}
//echo $strSql."<br>";
$query = oci_parse($olink,$strSql);
$oresult=oci_execute($query);
if($oresult)
{
echo "true<br>";
}
else
{
echo "false<br>";
}
}
else
{
echo "提取表$tbName数据时了错<br>";
}
}
}
} echo "$tbName 结束 ************************ <br><br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br><br>";
$tbNum+=1;
/*
if($tbNum==10)
{
exit();
}
*/
}
echo $tbNum;
//清空内存
mysql_free_result($result);
//关闭数据库
mysql_close();
?>