Printf在AJAX php文件中不起作用?

Art*_*mal -3 php mysql ajax printf

嗨我想通过在html和AJAX技术中使用表单来更新我的mysql数据库中的一些数据.我有问题,因为点击提交后数据没有更新,在响应消息中我不仅有消息,而且还有明确的mysql请求!我们来看看我的警报: 在此输入图像描述

我的想法是printf并不是真正将文本发布到"查询"函数中,但是这个文本输出直接进入响应数据并且查询总是错误的空文本...

我们来看看我的AJAX php文件:

<?php
	session_start();
	error_reporting(0);
	$imie = $_POST['imie'];
	$nazwisko = $_POST['nazwisko'];
	$kodpocztowy = $_POST['kodpocztowy'];
	$ulica = $_POST['ulica'];
	$nrdomu = $_POST['nrdomu'];
	$nrmieszkania = $_POST['nrmieszkania'];
	$miasto = $_POST['miasto'];

	try
	{
		if (! @include_once('connect.php'))
  		throw new Exception ('connect.php kurwa nie istnieje</br>');
		if (!file_exists('connect.php' ))
  		throw new Exception ('connect.php nie istnieje</br>');
		else
  		require_once('connect.php'); 
	}
	catch(Exception $e)
	{    
  		echo "Wiadomo??: " . $e->getMessage();
  		echo "Kod: " . $e->getCode();
	}
	require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
	if($rezultat = @$polaczenie->query(printf("UPDATE adresy SET imie='%s', nazwisko='%s', kodpocztowy='%s', ulica='%s', nrdomu='%s', nrmieszkania='%s', miasto='%s' WHERE id=%s",$imie,$nazwisko,$kodpocztowy,$ulica,$nrdomu,$nrmieszkania,$miasto,$_SESSION['id'])))
	{
		$polaczenie->close();
		echo "Good!";
	}
	else
	{
		$polaczenie->close();
		echo "Not good!";
	}

	
?>
Run Code Online (Sandbox Code Playgroud)

你知道如何解决这个问题吗?也许用什么代替printf或echo?请帮助,恭维.

ArS*_*SeN 5

printf()直接打印出文本,你实际上想要使用sprintf(),它返回字符串而不是打印出来.

有些方面注意到:

  1. 在函数调用之前使用"@"几乎不是好习惯,你应该删除它们
  2. 你可能还应该深入研究一下所谓的" SQL注入 "