Merhaba arkadaşlar dün akşamdan beri uğraşıyorum ama bi yerden sonra hep hata aldım. Aşağıdaki kodlarda csv'yi istediğim gibi parçaladım ama bi türlü mysql'e aktaramıyorum.
<html>
<head>
<title>Kartlar</title>
</head>
<body>
<?php
function mycsv($csv){
$satirlar=array();
foreach (file($csv) as $satir){
$satirlar[]=$satir;
}
return $satirlar;
}
$dosya=mycsv('test.csv');
$dosya=str_replace('"3,4,5 trimethocarb"','3-4-5 trimethocarb',$dosya);
$dosya=str_replace(",False,,False","",$dosya);
$dosya=str_replace(",","','",$dosya);
?>
<form action="kaydet.php" method="post" >
<?php @$say=count($dosya)-1;
for ($s=2; $s<=$say; $s++){
?>
<input type="text" style="width:400px;font-family:arial;font-size:10" name="veri<?php echo $s;?>" value="'2010-08-07','<?php echo $dosya[$s];?>'"><br/>
<?php
}
?><input type="submit" value="Gönder">
</body>
</html>İşlem sonucunda her bir satırda aşağıki gibi oluyor.tek tırnak içine alınmış ve virgül ile her bir sütun ayrılmış oluyor.
'2010-08-07','3-4-5 trimethocarb','4.675','118463','49.5503','49.5503','194.0 -> 122.0'
Kaydet.php dosyamda aşapğıdaki şekilde bir türlü kayıt yaptırmayı başaramadım.
<?php
//for ($b=2; $b<=200; $b++) {
$ver =$_POST["veri4"];
echo $ver;
$tarih =date("d.m.Y");
$vt =@new mysqli("localhost","root","","kart");
if($vt->connect_errno) die ($vt->connect_error); //bağlantı kontrolü yaptık.
$vt->set_charset("utf8"); //karakter setini ayarladık.
if($vtb=$vt->prepare ("INSERT INTO maddeler values (NULL,?,?,?,?,?,?,?)")){ //insert into ile veri ekleme yapacağız dışardan gelen değişkenimiz kadar ? işareti ekliyoruz.
$vtb->bind_param('sssssss',$ver); //sql'e eklenecekleri girdik.
$vtb->execute(); //sorguyu bu komut ile çalıştırdık.
}
?>Aldığım hata
Warning: mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables in C:\wamp\www\kart\kaydet.php on line 13