maneira concisa para verificar a presença variável no MySQL INSERIR IGNORO consulta utilizando PHP

votos
0

Eu estou escrevendo um script PHP para adicionar itens a um carrinho de compras. Minha mesa cesta de compras tem campos para o ID do usuário, ID do produto, ID de sessão, notas e alguns outros. Alguns dos campos podem estar em branco. Por exemplo:

se alguém não está conectado, então eu vou guardar seu ID de sessão na tabela e, se entrar, adicionar o seu ID de usuário, por isso tenho uma maneira permanant para coincidir com os itens da tabela para o usuário. Se eles forem, eu vou adicionar o ID de usuário. Quando se trata do INSERT IGNORE consulta, eu posso fazer algo como isto:

$ Add_sql = INSERT IGNORE em valores sessionBasket (ID de usuário) ( 'isset ($ _ SESSION [ userid]) $ _SESSION [ userid]:.? ). ';

Ele iria me salvar tanto tempo na verificação variável e ramificação porque as pessoas poderiam ser assinado ou não, os itens podem ter notas ou não, esse tipo de coisa.

Publicado 27/08/2009 em 00:04
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Caramba! Injeção SQL! você pode perder todo o seu banco de dados

Você deve estar olhando para declarações preparadas para a sua inserção sql.

Você precisa usar a interface mysqli mas é assim:

$statement = $db_connection->prepare("insert into ... VALUES(?)");
$statement->bind_param("id", $sid);
$statement->execute();

Isso vai evitar ataques de injeção SQL.

No mínimo você deve pelo menos escapar da cadeia.

$sid = isset($_SESSION[userid]) ? mysql_real_escape_string($_SESSION[userid])) : '';
$add_sql = "insert into ... values($sid)";
Respondeu 27/08/2009 em 00:12
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more