Note that there are some explanatory texts on larger screens.

plurals
  1. POGlobal symbol "$queryDelete" requires explicit package name
    primarykey
    data
    text
    <p>I want to delete data from database using perl CGI but it shows me the error: Global symbol "$queryDelete" requires explicit package name at Dbm.pm line 10.</p> <pre><code>package Dbm; use DBI; use strict; use POSIX "fmod"; sub connection { return DBI-&gt;connect("DBI:mysql:boys:127.0.0.1" ,'root',''); }; sub do_delete { my $rData = shift; $queryDelete = " WHERE "; my $cWhere = get_condition($rData); my $queryDelete="DELETE FROM $rData-&gt;{table} $cWhere"; my $dbh = connection; my $sqlDelete = $dbh-&gt;prepare($queryDelete) or die "Can't prepare $queryDelete: $dbh-&gt;errstr\n"; return ($sqlDelete-&gt;execute) or die "can't execute the query: $sqlDelete-&gt;errstr"; } sub get_condition{ my $rData = shift; my $cWhere = " 1=1 "; while (my ($key,$value) = each $rData-&gt;{condition}) { if (ref($value) eq 'ARRAY'){ $cWhere .= " AND "; #print $key.$value-&gt;[0]; my $counter=0; foreach my $cValueArray (@{$value}){ if(fmod($counter,3)==0) { $cWhere.=" ".$key." ".$cValueArray." "; } else { $cWhere.= " ".$cValueArray. " "; } $counter++; } }else{ #print "$key=$value\n $cWhere .= " AND ". $key."=". $value; } }; return $cWhere; } 1; </code></pre> <p>test.pl</p> <pre><code> my $q = new CGI(); my $handle = Dbm::connection(); sub test_delete{ my $rData = { table =&gt;'boys', condition =&gt; { ID =&gt; 99, Emri =&gt; ['&lt;&gt;','\'mon\'','AND','like','\'boy%\''], } }; return Dbm::do_delete($rData); }; print $q-&gt; start_html( -title =&gt; "Main", -style =&gt; [ {-src =&gt;'/media/css/ui-lightness/jquery-ui-1.10.3.custom.css', -rel=&gt;'alternate'}, {-src =&gt;'/media/css/ui-lightness/mystyle.css', -rel=&gt;'stylesheet', -type=&gt;'text/css'} ], -script =&gt; [ { -src=&gt;'/media/js/jquery-1.9.1.js'}, { -src=&gt;'/media/js/jquery-ui-1.10.3.custom.js' } ] ); print test_delete(); </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload