我更新了表{bu}在<?php
class updte extends ayar
{
function control($adi = null, $baslik = null, $acikla = null, $hakki = null, $telifx = null, $logoc = null)
{
$siteadi = trim($adi);
$sitebaslik = trim($baslik);
$aciklama = trim($acikla);
$hakkinda = trim($hakki);
$telif = trim($telifx);
$logo = trim($logoc);
$durumsor = array();
$extsor = array();
$degersor = array();
if (isset($siteadi)) {
$isle = self::siteadi($siteadi);
array_push($durumsor, $isle["sorgu"]);
array_push($extsor, $isle["ext"]);
array_push($degersor, $isle["deger"]);
}
if (isset($sitebaslik)) {
$isle = self::sitebaslik($sitebaslik);
array_push($durumsor, $isle["sorgu"]);
array_push($extsor, $isle["ext"]);
array_push($degersor, $isle["deger"]);
}
if (isset($aciklama)) {
$isle = self::aciklama($aciklama);
array_push($durumsor, $isle["sorgu"]);
array_push($extsor, $isle["ext"]);
array_push($degersor, $isle["deger"]);
}
if (isset($hakkinda)) {
$isle = self::hakkinda($hakkinda);
array_push($durumsor, $isle["sorgu"]);
array_push($extsor, $isle["ext"]);
array_push($degersor, $isle["deger"]);
}
if (isset($telif)) {
$isle = self::telif($telif);
array_push($durumsor, $isle["sorgu"]);
array_push($extsor, $isle["ext"]);
array_push($degersor, $isle["deger"]);
}
if (isset($logo)) {
$isle = self::favicon($logo);
array_push($durumsor, $isle["sorgu"]);
array_push($extsor, $isle["ext"]);
array_push($degersor, $isle["deger"]);
}
if (!isset($durumsor[0])) {
$hata = "K-0002";
$durum = "Null query";
return (array("err" => $hata, "status" => $durum));
} else {
$hata = null;
$sx = COUNT($durumsor);
$sb = $sx - 1;//Dizi değerden geldiği için dizilerde indis 0 dan başladığı için 1 eksik çekiyoruz
for ($a = 0; $a <= $sb; $a++) {
if ($a == 0) {
$sql = "" . $durumsor[$a] . ",";
$ext = "\"" . $extsor[$a] . "\"=>\"" . $degersor[$a] . "\",";
} elseif ($a != $sb) {
$sql .= $durumsor[$a] . ",";
$ext .= "\"" . $extsor[$a] . "\"=>\"" . $degersor[$a] . "\",";
} else {
$sql .= $durumsor[$a] . "";
$ext .= "\"" . $extsor[$a] . "\"=>\"" . $degersor[$a] . "\"";
}
}
//return(array($sql,$ext));
return self::update($sql, $ext);
}
}
private function update($sql, $ext)
{
try {
$ssql = "\"update siteconfig set " . $sql . "\"";
$dizi = array($ext);
$sor = $this->vt()->prepare($ssql);
$sor->execute(array($ext));
$durum = "successful";
} catch (PDOException $i) {
$hata = "K-0003";
$durum = "Error Detail " . $i->getMessage();
}
if (!isset($hata)) {
return (array("durum" => $durum, $dizi, $ssql));
} else {
return (array("hata" => $hata, "durum" => $durum));
}
}
private function siteadi($i)
{
$stn = "siteadi=:siteadial";
$ext = "siteadial";
return (array("sorgu" => $stn, "ext" => $ext, "deger" => $i));
}
private function sitebaslik($i)
{
$stn = "slogan=:sitebaslik";
$ext = "sitebaslik";
return (array("sorgu" => $stn, "ext" => $ext, "deger" => $i));
}
private function aciklama($i)
{
$stn = "description=:acikla";
$ext = "acikla";
return (array("sorgu" => $stn, "ext" => $ext, "deger" => $i));
}
private function hakkinda($i)
{
$stn = "hakkinda=:hakkindalani";
$ext = "hakkindalani";
return (array("sorgu" => $stn, "ext" => $ext, "deger" => $i));
}
private function telif($i)
{
$stn = "copright=:telif";
$ext = "telif";
return (array("sorgu" => $stn, "ext" => $ext, "deger" => $i));
}
private function favicon($i)
{
$stn = "logo=:favicon";
$ext = "favicon";
return (array("sorgu" => $stn, "ext" => $ext, "deger" => $i));
}
}
函数
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\xampp\htdocs\hesapla\kutuphane\sinif\ayar2.sinif.php on line 148
但我的问题是,当我尝试调用更新表时,我得到PDO Exception,如:
self::update($sql, $ext)
我尝试调试传递给Array
(
[0] => "update siteconfig set siteadi=:siteadial,slogan=:sitebaslik,description=:acikla,hakkinda=:hakkindalani,copright=:telif,logo=:favicon"
[1] => "siteadial"=>"Acilsağlık.Net","sitebaslik"=>"Sağlık Hesaplama Araçlarıaa","acikla"=>"","hakkindalani"=>"","telif"=>"Tüm hakları saklıdır ","favicon"=>""
)
的参数。
所以他们在这里:
{{1}}
答案 0 :(得分:1)
错误说:
PDOStatement :: execute():SQLSTATE [HY093]:参数号无效: 绑定变量的数量与令牌的数量不匹配
所以你输入了答案:
else
{
$hata=null;
$sx=COUNT($durumsor);
$sb=$sx-1;//Dizi değerden geldiği için dizilerde indis 0 dan başladığı için 1 eksik çekiyoruz
for($a=0; $a<=$sb; $a++)
{
if($a==0)
{
$sql="".$durumsor[$a].",";
$ext="\"".$extsor[$a]."\"=>\"".$degersor[$a]."\",";
}
elseif($a!=$sb)
{
$sql .= $durumsor[$a].",";
$ext .= "\"".$extsor[$a]."\"=>\"".$degersor[$a]."\",";
}
else
{
$sql .= $durumsor[$a]."";
$ext .= "\"".$extsor[$a]."\"=>\"".$degersor[$a]."\"";
}
}
//return(array($sql,$ext));
return self::update($sql,$ext);
}
参见[1]你传递的是字符串,而不是数组。
所以这是解决方案:
改变这个:
else {
$sql = array();
$ext = array();
for ($a = 0; $a < count($durumsor); $a++) {
$sql[] = $durumsor[$a];
$ext[$extsor[$a]] = $degersor[$a];
}
$sql = implode(', ', $sql);
return self::update($sql, $ext);
}
到此:
ex1 = sample(50, x=c("A","B"), replace=TRUE)
ex2 = sample(50, x=c("A","B"), replace=TRUE)
getDescriptionStatsBy(factor(ex1),ex2,html=TRUE,useNA="no",statistics=TRUE,add_total_col="last”)