سلام @Raymond @saghari @salar.mohammad2013
من وقتی دیتا ها رو میخواهم اپدیت کنم این ارور رو میگیرم
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column `recon`.`errors`.`number` at row 1
update `errors` SET `number` = , `errors`.`updated_at` = 2024-01-29 13:02:25 WHERE `id` = 1
کد:
public function Ephemeral_update(){
$file = fopen("Ephemeral_asset1.txt", "r") or die("unable to open file!");
while(! feof($file)) {
$line = fgets($file);
$sub1=shell_exec("echo \"$line\" | grep -o \"\[.*\" | cut -d \"[\" -f 2 ");
$item2=str_replace("]","",$line);
$item2=str_replace("[","",$item2);
// return $item2;
$url = Str::of($item2)->match('/^((?:https?|ftp|http):\/\/[a-z.0-9-_]+\.[a-z.0-9-_]+|\*+[a-z.0-9-_]+\.[a-z.0-9-_]+|[a-z.0-9-_]+\.[a-z.0-9-_]+)/');
$item22=str_replace("]","",$sub1);
$number=trim($item22);
echo $number.' ';
echo $url."<br>";
$url=str_replace("http://","",$url);
$url1=str_replace("https://","",$url);
echo $url1;
$user=\App\Models\error::where("url",'like','%'.trim($url1).'%')->first();
dump($user->number ?? 'none');
// return $number;
if(!isset($user)){
}else{
if($user->number != $number){
$user= \App\Models\error::where('id', $user->id)->update(['number' => trim($number)]);
// $user= \App\Models\error::updateOrCreate(['number' => trim($number)]);
}
}
}
fclose($file);
}
سلام
واضح گفته خودش دیگه
شما فیلد number نوع عددی و integer داره ولی شما بهش مقدار رشته ی خالی دادی
قبل عمل درج داده هات رو خروجی بگیر متوجه میشی
این بخش باید چک کردن خالی نبودن انجام بدی
if($user->number != $number){
$user= \App\Models\error::where('id', $user->id)->update(['number' => trim($number)]);
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟